Laravel 5.1查询关系的外键属性

时间:2015-09-09 09:14:08

标签: php laravel eloquent foreign-key-relationship laravel-5.1

所以,让我说我有三个模型

  
      
  • 国家
  •   
  • 公司
  •   
  •   
  • 工人
  •   

我有以下明显的关系:

Country::hasMany('Companies');
Company::hasMany('Department');
Department::hasMany('Worker');

Country::hasManyThrough('Department', 'Company');
Company::hasManyThrough('Worker', 'Department');

现在我想要实现的目标是获得Departments的所有Country,其中Worker的{​​{1}}超过salary 10000

所以基本上我正在寻找一个关系,我可以在外国关系上调用where函数。

这样的事情:

Country::find(1)->departments()->where('...', '>=', 10000);

我想过尝试为模型Department创建一个范围函数,但是我真的不知道在那里写什么:

public function scopeSalary($query, $salary)
{
     return $query->somethingHere()->where('salary', '>=', $salary);
}

然后我知道我可以用Join statement in query builder来做,但我认为这可能是一个不好的做法。我想知道在Laravel中是否有办法可以在关系外键模型上调用where函数。

0 个答案:

没有答案
相关问题