dqhdpppm02183 2019-05-23 08:53
浏览 55
已采纳

API仅在一种情况下工作 - 使用laravel

I am creating API my controller code:

public function isUserGroup(Request $request)
{
    $id = $request->input('id');
    $isGroup = $request->input('isGroup');

    if($isGroup == false)
    {
        $users = DB::table('users')
            ->join('user_basic_info','users.id','=','user_basic_info.user_id')
            ->select('users.id','user_basic_info.first_name as name')
            ->where('users.id',$id)->get();
        $resultArray['users'] = $users;
    }

    if ($isGroup == true)
    {
        $groups = DB::table('group')   // Only this is working
            ->select('group.id','group.name')
            ->where('group.id',$id)->get();
        $resultArray['group'] = $groups;
        return \Illuminate\Support\Facades\Response::json($resultArray, 200);
    }
}

Now here its returning only the group detail either i put condition isGroup false or true its only returning the groups details I dont know where i am wrong.

Your help will be highly appreciated!

  • 写回答

3条回答 默认 最新

  • dongshanxun6479 2019-05-23 09:06
    关注

    firstly change isGroup to:

    $isGroup = $request->input('isGroup') ? true : false;
    

    then change == to ===, and you have other something wrong with the code. Should be like this:

    if($isGroup === false)
    {
        $users = DB::table('users')
            ->join('user_basic_info','users.id','=','user_basic_info.user_id')
            ->select('users.id','user_basic_info.first_name as name')
            ->where('users.id',$id)->get();
        $resultArray['users'] = $users;
    }else if ($isGroup === true)
    {
        $groups = DB::table('group')   // Only this is working
            ->select('group.id','group.name')
            ->where('group.id',$id)->get();
        $resultArray['group'] = $groups;
    }
        return \Illuminate\Support\Facades\Response::json($resultArray, 200);
    

    if still not working maybe your input of isGroup is wrong, if the input is a string of 'false' will return true. So if you want return users you should empty the isGroup input.

    the alternative if your input is a string is below:

     $isGroup = $request->input('isGroup');
        if($isGroup == 'false')
        {
            $users = DB::table('users')
                ->join('user_basic_info','users.id','=','user_basic_info.user_id')
                ->select('users.id','user_basic_info.first_name as name')
                ->where('users.id',$id)->get();
            $resultArray['users'] = $users;
        }else if ($isGroup == 'true')
        {
            $groups = DB::table('group')   // Only this is working
                ->select('group.id','group.name')
                ->where('group.id',$id)->get();
            $resultArray['group'] = $groups;
        }
            return \Illuminate\Support\Facades\Response::json($resultArray, 200);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图