首页 > 解决方案 > Where Not In 使用查询生成器

问题描述

与此问题类似,我需要执行以下 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();

但是在上面的 cide 上我怎么能放置NOT IN子句呢?

标签: laravel-5eloquent

解决方案


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

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

换句话说,只需使用whereNotIn.


推荐阅读