Php 左连接工作不正常
我正在尝试使用以下查询,使用laravel搜索为特定课程注册的所有用户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
$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%))