[英]Relationship “doesntHave” doesnt work in Laravel
我需要幫助。 我有個問題。 在這部分代碼中,關系“doesntHave”不起作用並返回用戶的完整列表
$searchData = $request->searchData;
$users = User::doesntHave('roles')
->where('id','like', '%' . $searchData . '%')
->orWhere('name', 'like', '%' . $searchData . '%')
->orWhere('email', 'like', '%' . $searchData . '%')
->limit(8)
->get();
return response()->json($users);
AND 和 OR 運算符的優先級相同,因此a AND b OR c OR d
與(((a AND b) OR C) or D)
基本相同。 在您的情況下,您可能需要a AND (b OR c OR d)
所以要實現這一點,您需要:
$searchData = $request->searchData;
$users = User::doesntHave('roles')
->where(function ($q) use ($searchData) {
$q->where('id','like', '%' . $searchData . '%')
->orWhere('name', 'like', '%' . $searchData . '%')
->orWhere('email', 'like', '%' . $searchData . '%');
})
->limit(8)
->get();
return response()->json($users);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.