ホームページ  >  に質問  >  本文

Laravel 8 EloquentでwhereNotExists句が正しく使用されない問題は未解決のままです

<p>2 つのテーブルがあります。1 つは異なるユーザーを含むテーブルで、もう 1 つは client_id と呼ぶ外部キー userid を持つ「factures」と呼ばれる請求書テーブルです。私が取得したいのは、特定の管理者によって作成され、まだ請求書を持っていない顧客の数です。これは私が試したコードです: </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('ファクチャ') ->where('created_by',$member_id); })->get();</pre> <p>しかし、このクエリは $member_id によって作成されたすべての顧客を例外なく返します。 私の質問に何か問題がありますか? </p>
P粉287726308P粉287726308389日前541

全員に返信(1)返信します

  • P粉670838735

    P粉6708387352023-09-06 11:10:07

    次のことを試してみましたか:

    リーリー

    この回答では、最初と 2 番目の条件 (created_by と updated_by) の間の OR 条件のみが適用され、その結果は 3 番目の条件の AND と結合されます。

    返事
    0
  • キャンセル返事