dqhdpppm02183 2019-05-23 00: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 01: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条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部