1

这个问题让我大吃一惊:我有以下关系:( Groups --> Intermediate Many-To-Many Table <-- Cities每个组可以分配多个城市)

现在我想获取所有分配的城市是 id X 和 id Y 的 Group-Models。就像说“给我分配给波士顿和纽约的所有组”

Laravel 3 的 Eloquent 有可能吗?

非常感谢!马蒂亚斯

4

2 回答 2

2

根据我的经验,where 子句在多对多关系中不起作用。但是,如果您急切地加载它们,它们确实可以工作。

Group::with(array('cities' => function($q) {
    $q->or_where('id', '=', X);
    $q->or_where('id', '=', Y);
})->get();
于 2013-05-08T21:51:43.763 回答
2

扩展 aowie1 上面的答案(这是正确的),嵌套 or_where 子句通常很有用(因为这具有逻辑意义,特别是如果您希望使用非或-where 条件扩展查询):

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

同样,只是扩展了我赞成的 aowie1 的答案,因为它是正确的-这只是有关带有 or 条件的嵌套查询的一些附加信息:)

于 2013-05-08T22:33:37.063 回答