2016-03-17 4 views
0

Как я могу достичь этого SQL-запроса в красноречивом Laravel?Laravel SQL Query in Eloquent?

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

ответ

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.