2013-05-08 2 views
1

Эта проблема взрывает мой разум в данный момент: У меня есть следующее соотношение: Groups --> Intermediate Many-To-Many Table <-- Cities (Каждая группа может иметь несколько городов назначены)Laravel3 Eloquent: Запрос для атрибута в Many-ко-многим

Теперь я хочу для получения всех Групповых моделей, где назначенный Город является либо идентификатором X, либо идентификатором Y. Как сказать «Принесите мне все группы, которые назначены в Бостон и Нью-Йорк»

Возможно ли это с Larvel 3's Eloquent?

спасибо! Matthias

ответ

2

В моем опыте, где предложения не работают внутри отношений «многие ко многим». Но они работают, если вы хотите загрузить их.

Group::with(array('cities' => function($q) { 
    $q->or_where('id', '=', X); 
    $q->or_where('id', '=', Y); 
})->get(); 
2

Расширение ответа aowie1 над (который является правильным), это часто бывает полезно гнездится or_where статей (как это имеет логический смысл, особенно если вы хотите, чтобы расширить запрос с не-или-где условие):

Group::with(array('cities' => function($q) { 
    $q->where(function($where) { 
     $where->or_where('id', '=', 'x'); 
     $where->or_where('id', '=', 'y'); 
    }); 
})->get(); 

Опять же, расширяя ответ aowie1, которая я upvoted, как это правильно - это лишь некоторая дополнительная информация о вложенных запросах с или условием :)

+0

Вы получаете +1 тоже Sucka – wesside

Смежные вопросы