Isu tidak menggunakan klausa whereNotExists dengan betul dalam Laravel 8 Eloquent masih tidak dapat diselesaikan
P粉287726308
2023-09-05 16:08:35
<p>Saya mempunyai dua jadual, satu jadual dengan pengguna berbeza dan satu lagi jadual invois dipanggil "factures" yang mempunyai userid kunci asing yang saya panggil client_id. Apa yang saya ingin dapatkan ialah bilangan pelanggan yang dibuat oleh pentadbir tertentu dan belum mempunyai invois lagi. Ini adalah kod yang saya cuba: </p>
<pre class="brush:php;toolbar:false;">$clients = Pengguna::select('id')
->di mana([['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);
})->dapatkan();</pre>
<p>Tetapi pertanyaan ini mengembalikan kepada saya semua pelanggan yang dibuat oleh $member_id, tiada pengecualian.
Adakah terdapat apa-apa yang salah dengan pertanyaan saya? </p>
Sudahkah anda mencuba perkara berikut:
Jawapan ini hanya menggunakan
OR
条件,并且其结果与第三个条件的AND
gabung antara syarat pertama dan kedua (dicipta_oleh dan dikemas kini_oleh).