我需要阻止一些特定的搜索,比如用户名。场景是当我搜索 auth 用户名时,我得到了所有朋友,但是如果我搜索 auth 用户名,我不想搜索结果,这是我的查询$searchVal = $request->input('search');$friend_data = Friend::with('getAccept', 'getRequest')->where('status', '1')->where(static function ($q) use ($user) { $q->where('user_id', $user->id)->orWhere('ref_id', $user->id); })->where(function ($q1) use ($searchVal) { if($searchVal) { $q1->whereHas('getRequest', function ($q) use ($searchVal) { $q->where('username', 'LIKE', '%' . $searchVal . '%'); }); $q1->orWhereHas('getAccept', function ($q) use ($searchVal) { $q->where('username', 'LIKE', '%' . $searchVal . '%'); }); } })->get();提前致谢。
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
只需将if($searchVal)
您的where
函数替换为if($searchVal !== Auth::user()->username)
,这应该排除auth 用户名结果。
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消