Laravel 8 Eloquent에서 whereNotExists 절을 올바르게 사용하지 않는 문제는 아직 해결되지 않았습니다.
P粉287726308
2023-09-05 16:08:35
<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>
다음을 시도해 보셨나요:
으아악이 답변은 첫 번째 조건과 두 번째 조건(created_by 및 update_by) 사이의
OR
条件,并且其结果与第三个条件的AND
결합에만 적용됩니다.