我需要阻止一些特定的搜索,比如用戶名。場景是當我搜索 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 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消