【发布时间】:2018-06-10 23:10:02
【问题描述】:
我只想根据在搜索框中输入的搜索词显示管理员用户
我先存储关键字
$keyword = $request->get('search');
然后
$users = User::with('admin')->where('role', 'super_admin')
->where(function ($query) use($keyword){
$query->where('id', 'LIKE', "%$keyword%")
->orWhere('name', 'LIKE', "%$keyword%");
})->paginate($perPage);
这就像我从 user 表的主表中搜索术语
但我也想使用管理表列来过滤它
$users = User::with('admin')->where('role', 'super_admin')
->where(function ($query) use($keyword){
$query->where('id', 'LIKE', "%$keyword%")
->orWhere('email', 'LIKE', "%$keyword%")
->orWhere('name', 'LIKE', "%$keyword%")
->orWhere($this->admin->status, 'LIKE', "%$keyword%");
})->paginate($perPage);
这会引发错误undefined property admin
由于这条线->orWhere($this->admin->status, 'LIKE', "%$keyword%");
那么如何在过滤数据时使用管理列
【问题讨论】:
标签: php laravel-5 eloquent eager-loading laravel-query-builder