Laravel 5 拉威尔通过关系

Laravel 5 拉威尔通过关系,laravel-5,eloquent,Laravel 5,Eloquent,以下是我的表格: keywords -------- id keyword 关键字表有许多封装外形 footprints ---------- id keyword_id footprint 每个serp都与一个封装外形相关联 serps ----- id footprint_id phrase 我需要得到每个serp关联的关键字。通过阅读有关拉雷维尔的《一通关系》一书,我觉得这可以通过关系来完成 我想使用以下方法获取关键字: $serp->keyword; 在Serp模型

以下是我的表格:

keywords
--------
id
keyword
关键字表有许多封装外形

footprints
----------
id 
keyword_id
footprint
每个serp都与一个封装外形相关联

serps
-----
id
footprint_id
phrase 
我需要得到每个serp关联的关键字。通过阅读有关拉雷维尔的《一通关系》一书,我觉得这可以通过关系来完成

我想使用以下方法获取关键字:

  $serp->keyword;
在Serp模型上,我编写了以下不起作用的代码。我将非常感谢您帮助我编写正确的关系代码

class Serp extends Model {
 //

 public function keyword(){
     return $this->hasOneThrough(
     '\App\Keyword',
     'App\Footprint') ;
 }
}

在您的情况下,您可以使用has one-through根据关键字查找Serp

class Keyword extends Model {
    public function serp(){
        return $this->hasOneThrough(
            '\App\Serp',
            'App\Footprint') ;
    }
}
但如果您想使用$serp->keyword(),则应该使用hasOneThrough的反向关系

看看这个,它可能会帮助你