Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 左连接工作不正常_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 左连接工作不正常

Php 左连接工作不正常,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在尝试使用以下查询,使用laravel搜索为特定课程注册的所有用户 $users = DB::table('users') ->leftJoin('registrationrequests', 'users.id', '=', 'registrationrequests.user_id') ->where('firstname', 'LIKE', "%$search%") ->orWhere('last

我正在尝试使用以下查询,使用laravel搜索为特定课程注册的所有用户

$users = DB::table('users')
            ->leftJoin('registrationrequests', 'users.id', '=', 'registrationrequests.user_id')
            ->where('firstname', 'LIKE', "%$search%")
            ->orWhere('lastname', 'LIKE', "%$search%")
            ->orWhere('username', 'LIKE', "%$search%")
            ->where('registrationrequests.course_id', $course_id)
            ->where('registrationrequests.registered', 1)
            ->get();
在表
注册请求
中,我有
课程id
用户id
注册
(二进制值)列<代码>课程id和
用户id
是各个表的外键

我得到一个输出数组。但是它没有检查条件
where('registrationrequests.course\u id',$course\u id)

原因可能是什么?

使用and,您的查询看起来像-

$users = DB::table('users')
        ->leftJoin('registrationrequests', 'users.id', '=', 'registrationrequests.user_id')
        ->where('registrationrequests.course_id', $course_id)
        ->where('registrationrequests.registered', 1)
        ->where(function($users) use($search){ 
                $users->where('firstname', 'LIKE', "%$search%")
                      ->orWhere('lastname', 'LIKE', "%$search%")
                      ->orWhere('username', 'LIKE', "%$search%")
        })
        ->get();

你看过了吗?是的,我看过了。这与此查询相同。因此您尝试了
->where('registrationrequests.course\u id',$course\u id)->where('registrationrequests.registered',1)->where(函数($users){$users->where('firstname','LIKE',“%$search%”)或where('lastname','LIKE',“%$search%”)或where('username','LIKE','LIKE',“%$search%”)->get()
$users=DB::table('users')->where('registrationrequests.course\u id',$course\u id)->where('registrationrequests.registered',1)->where(函数($users)使用($search){$users->where('firstname','LIKE',“%$search%”->或where('lastname','LIKE',“%$search%”)->orWhere('username','LIKE',“%$search%”;})->get()这是我尝试过的。这是我得到的
列未找到的错误:1054 Champ'registrationrequests.course\u id在where子句中未知(SQL:select*from``users
where registrationrequests
course\u id`和
registrationrequests
registered
=7=1和(`firstname`LIKE Melwin%%%LIKE或
lastname
Melwin%username`LIKE或
%Melwin%))