我目前有一个查询,在其中查找具有姓氏和名字的特定用户。但是,我想确保正在使用它的用户没有看到自己的名字出现在列表中(对于消息系统而言)。
这是我拥有的laravel php查询:
$users = User::where('firstname', 'LIKE', $firstname.'%')->whereNotIn('id', $user_id)->get();
我想检查名字匹配的用户,但我希望它不捕获ID为user_id
的用户。有人知道该怎么做吗?
答案 0 :(得分:5)
$users = User::where('firstname', 'LIKE', $firstname.'%')->where('id','<>', $user_id)->get();
答案 1 :(得分:4)
这应该有效
$users = User::where('firstname', 'LIKE', $firstname.'%')->where('id', '!=', $user_id)->get();
答案 2 :(得分:3)
您可以使用->where('id', '!=', $user_id)
来获取所有不与$user_id
共享ID的用户。
在您提供的代码中,将导致以下结果:
User::where('firstname', 'LIKE', $firstname.'%')->where('id', '!=', $user_id)->get()
答案 3 :(得分:0)
将user_id作为数组传递,即[ $user_id ]
:
$users = User::where('firstname', 'LIKE', $firstname.'%')->whereNotIn('id', [$user_id])->get()