Laravel 8 Eloquent中无法正确使用whereNotExists子句的问题仍未解决
P粉287726308
2023-09-05 16:08:35
<p>我有两个表,一个是包含不同用户的表,另一个是名为“factures”的发票表,它有一个外键userid,我称之为client_id。我想要得到的是由某个管理员创建并且还没有发票的客户数量。这是我尝试的代码:</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('factures')
->where('created_by',$member_id);
})->get();</pre>
<p>但是这个查询给我返回了所有由$member_id创建的客户,没有例外。
我的查询有什么问题吗?</p>
你尝试了以下内容吗:
此答案仅在第一和第二个条件(created_by和updated_by)之间应用了
OR
条件,并且其结果与第三个条件的AND
相结合。