Das Problem, dass die whereNotExists-Klausel in Laravel 8 Eloquent nicht korrekt verwendet wird, bleibt ungelöst
P粉287726308
2023-09-05 16:08:35
<p>Ich habe zwei Tabellen, eine ist eine Tabelle mit verschiedenen Benutzern und die andere ist eine Rechnungstabelle namens „factures“, die eine Fremdschlüssel-Benutzer-ID hat, die ich client_id nenne. Was ich erhalten möchte, ist die Anzahl der Kunden, die von einem bestimmten Administrator erstellt wurden und noch keine Rechnung haben. Dies ist der Code, den ich ausprobiert habe: </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'))
->von('Fakturen')
->where('created_by',$member_id);
})->get();</pre>
<p>Aber diese Abfrage gibt mir alle von $member_id erstellten Kunden zurück, ohne Ausnahmen.
Stimmt etwas mit meiner Anfrage nicht? </p>
你尝试了以下内容吗:
此答案仅在第一和第二个条件(created_by和updated_by)之间应用了
OR
条件,并且其结果与第三个条件的AND
相结合。