찾다

 >  Q&A  >  본문

Laravel 8 Eloquent에서 whereNotExists 절을 올바르게 사용하지 않는 문제는 아직 해결되지 않았습니다.

<p>두 개의 테이블이 있습니다. 하나는 다른 사용자가 있는 테이블이고 다른 하나는 client_id라고 부르는 외래 키 사용자 ID가 있는 "factures"라는 인보이스 테이블입니다. 내가 얻고 싶은 것은 특정 관리자가 생성했지만 아직 송장이 없는 고객의 수입니다. 제가 시도한 코드는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">$clients = 사용자::select('id') ->where([['created_by',$membre_id],['role','Client']]) ->orWhere([['updated_by',$membre_id],['role','Client']]) ->whereNotExists(함수($query) { $query->select(DB::raw('client_id')) ->from('사실') ->where('created_by',$member_id); })->get(); <p>그러나 이 쿼리는 예외 없이 $member_id가 생성한 모든 고객을 반환합니다. 내 쿼리에 문제가 있나요? </p>
P粉287726308P粉287726308438일 전607

모든 응답(1)나는 대답할 것이다

  • P粉670838735

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

    다음을 시도해 보셨나요:

    으아악

    이 답변은 첫 번째 조건과 두 번째 조건(created_by 및 update_by) 사이의 OR条件,并且其结果与第三个条件的AND결합에만 적용됩니다.

    회신하다
    0
  • 취소회신하다