Eloquent中的Laravel SQL查询?

时间:2016-03-17 16:45:45

标签: laravel eloquent laravel-5.1

如何在Laravel的雄辩中实现这个SQL查询?

"SELECT * FROM `cardfields` 
WHERE cardfields.id NOT IN (select fieldassociation.field_id 
from fieldassociation where fieldassociation.card_id = $cardid)"

1 个答案:

答案 0 :(得分:2)

要使用Eloquent,您需要在模型之间存在某些关系的模型(创建模型时),但如果您使用QueryBuilder,则可以使用以下内容执行此操作:

DB::table('cardfields')->whereNotIn('id', function($query) use($cardid) {
    $query->select('field_id')
          ->from('fieldassociation')
          ->where('card_id', $cardid);
})
->get();

确保使用DB关键字导入use或使用\DB代替DB