where([['created_by',$membre_id],['role','Client']])->orWhere("> Isu tidak menggunakan klausa whereNotExists dengan betul dalam Laravel 8 Eloquent masih tidak dapat diselesaikan-Soal Jawab Rangkaian PHP Cina
Isu tidak menggunakan klausa whereNotExists dengan betul dalam Laravel 8 Eloquent masih tidak dapat diselesaikan
P粉287726308
P粉287726308 2023-09-05 16:08:35
0
1
483

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:

$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();

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粉287726308
P粉287726308

membalas semua (1)
P粉670838735

Sudahkah anda mencuba perkara berikut:

$clients = User::select('id') ->where(function($query) use($member_id){ $query->where([['created_by',$membre_id],['role','Client']]) ->orWhere([['updated_by',$membre_id],['role','Client']]) }) ->whereNotExists(function($query) use($member_id){ $query->select(DB::raw('client_id')) ->from('factures') ->where('created_by',$member_id); }) ->get(); }

Jawapan ini hanya menggunakanOR条件,并且其结果与第三个条件的ANDgabung antara syarat pertama dan kedua (dicipta_oleh dan dikemas kini_oleh).

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!