【发布时间】:2014-02-22 23:10:19
【问题描述】:
我有两个模型(组织和交互),我想查询所有没有交互的组织的组织模型。组织与交互是一对多的关系。
我尝试查看原始 SQL 中的反连接,但无济于事。我还想完全避免像获取所有完整的组织,然后遍历它们以检查它们是否有任何交互,因为考虑到我正在处理的数据量,这是完全不切实际的。
为了澄清,我想避免这样:
$organizations = Organization::all();
foreach ($organizations as $org)
if($org->interactions()->count() == 0){
//Add the org to an array for later use because it has no interactions
}
我正在使用 Laravel 3.x,我无法升级,因为项目非常大,而且我现在没有一个月的时间升级到 4.1。如果有更好的方法来完成类似 4 的操作,那么销售转换过程会更容易。
以下是一些相关代码:
//From organization.php
public function interactions() {
return $this->has_many('Interaction');
}
//From interaction.php
public function organization() {
return $this->belongs_to('Organization');
}
【问题讨论】: