【发布时间】:2014-12-31 13:29:26
【问题描述】:
我正在尝试使用 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();
在表registrationrequests 中,我有course_id、user_id 和registered(二进制值)的列。 course_id 和 user_id 是各自表的外键。
我得到一个输出数组。但它没有检查条件where('registrationrequests.course_id', $course_id)
可能是什么原因?
【问题讨论】:
-
是的,我查过了。它与此查询相同。
-
所以你试过
->where('registrationrequests.course_id', $course_id) ->where('registrationrequests.registered', 1) ->where(function($users){ $users->where('firstname', 'LIKE', "%$search%") ->orWhere('lastname', 'LIKE', "%$search%") ->orWhere('username', 'LIKE', "%$search%")}) ->get();? -
$users = DB::table('users') ->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();这是我试过的。 -
这是我得到
Column not found: 1054 Champ 'registrationrequests.course_id unknown in where clause (SQL: select * from `` users的错误,其中 registrationrequests.course_id` 和registrationrequests.registered= 7 = 1 和 (` firstname` LIKE Melwin%%% LIKE 或 @ 987654336@Melwin%用户名`LIKE or% Melwin%))