laravel 5关系过滤器

时间:2015-06-08 11:57:52

标签: eloquent laravel-5 relationship

我有3个表:计算机,缺陷,补丁

  • 缺陷 hasMany 计算机
  • 计算机 hasMany 修补程序
  • 补丁 hasOne 计算机

所以当我有一个关于计算机的缺陷时,计算机已修补,问题是当我尝试用它的计算机和补丁检索Flaw时,我得到所有补丁,与任何缺陷有关,而不仅仅是所要求的缺陷。

class Computer extends \Eloquent {
    public function patches()
    {
        return $this->hasMany('App\Models\Patch', 'computer_id');
    }
}

class Flaw extends \Eloquent {
    public function computer()
    {
        return $this->belongsTo('App\Models\Device\Computer\Computer', 'computer_id');
    }
}

class Patch extends \Eloquent{
    public function computer()
    {
        return $this->belongsTo('App\Models\Device\Computer\Computer', 'computer_id');
    }
}

如何使用此Eloquent查询检索有关当前缺陷的修补程序?

Flaw::with(['computers', 'computers.patches'])->findOrFail($flawId);

0 个答案:

没有答案