【发布时间】:2020-06-24 08:23:42
【问题描述】:
我正在处理好友请求路由。
希望我的代码能够正常工作
$friends=[];
foreach (auth()->user()->friends as $friend)
$friends[]=$friend->id;
$people = User::query()
->where('id', '!=', auth()->user()->id)
->whereNotIn('id', $friends)
->where('name', 'LIKE', "%$request->search%")
->orWhere('email', 'LIKE', "%$request->search%")
->get();
但这段代码的工作原理是
where ( 'id'!=auth()->user()->id and 'id' not in [...] and 'name' like '$name' ) or 'email' like '$email'
我希望这可以作为
where 'id'!=auth()->user()->id and 'id' not in [...] and ('name' like '$name' or 'email' like '$email')
然后我将代码更改为:
$friends=[];
foreach (auth()->user()->friends as $friend)
$friends[]=$friend->id;
$people = User::query()
->where('name', 'LIKE', "%$request->search%")
->where('id', '!=', auth()->user()->id)
->whereNotIn('id', $friends)
->orWhere('email', 'LIKE', "%$request->search%")
->where('id', '!=', auth()->user()->id)
->whereNotIn('id', $friends)
->get();
这对我有用,但我认为它不合适。 请指导。
【问题讨论】:
-
我认为您的朋友数组不正确尝试
dd朋友数组并在此处发布回复。
标签: php laravel eloquent where-clause laravel-7