Laravel 8 Eloquent中無法正確使用whereNotExists子句的問題仍未解決
P粉287726308
2023-09-05 16:08:35
<p>我有兩個表,一個是包含不同使用者的表,另一個是名為「factures」的發票表,它有一個外鍵userid,我稱之為client_id。我想要得到的是由某個管理員創建並且還沒有發票的客戶數量。這是我嘗試的程式碼:</p>
<pre class="brush:php;toolbar:false;">$clients = User::select('id')
->where([['created_by',$membre_id],['role','Client']])
->orWhere([['updated_by',$membre_id],['role','Client']])
->whereNotExists(function($query)
{
$query->select(DB::raw('client_id'))
->from('factures')
->where('created_by',$member_id);
})->get();</pre>
<p>但這個查詢傳回了所有由$member_id建立的客戶,沒有例外。
我的查詢有什麼問題嗎? </p>
你嘗試了以下內容嗎:
此答案僅在第一和第二個條件(created_by和updated_by)之間應用了
OR
條件,並且其結果與第三個條件的AND
相結合。