不使用查询生成器的地方

时间:2019-07-11 09:12:03

标签: laravel-5 eloquent

与此question相类似,我需要执行以下Sql查询:

SELECT COUNT(*) from table where column NOT IN (SELECT table2.id from table2 where table2.someanothercolumn >0 );

使用Eloquent的查询生成器,因此我尝试了以下操作(模型Table映射到表table和模型TableTwo映射到表table2):

$enties = Table::where('id',function($q){
  $q->from('table2')->select('id')->where('someanothercolumn','>',0);
})->count();

但是在上面的例子中,我如何放置NOT IN子句?

1 个答案:

答案 0 :(得分:0)

您的答案在以下代码段中:

$enties = Table::whereNotIn('id',function($q){
  $q->from('table2')->select('id')->where('someanothercolumn','>',0);
})->count();

换句话说,只需使用whereNotIn