Laravel Eloquent - 与数据透视表的模型关系

时间:2018-04-27 23:35:17

标签: laravel orm eloquent many-to-many

我无法真正找到这些模型的关系解决方案。

  1. 巴士有多个目的地
  2. 目的地有多条巴士
  3. Term有一个公共汽车和一个目的地
  4. 总线

    • ID

    目标

    • 名称

    期限

    • 日期

    如果公共汽车只有一个目的地,那么我有这个,我认为它应该有用。

    总线模型

    public function destinations()
    {
        return $this->belongsToMany('App\Destination');
    }
    
    public function terms()
    {
        return $this->hasManyThrough('App\Term', 'App\Destination');
    }
    

    目的地模型

    public function boats()
    {
        return $this->belongsToMany('App\Boat');
    }
    
    public function terms()
    {
      return $this->hasMany('App\Term');
    }
    

    期限模型

    public function destination()
    {
      return $this->belongsTo('WBZ\Destination');
    }
    

    我希望能够实现的目标:

    Bus::find(1)->destinations()->get();
    Bus::find(1)->terms()->get();
    

1 个答案:

答案 0 :(得分:1)

BUS MODEL。

public function destinations()
{
return $this->belongsToMany('App\Destination');
}

public function term()
{
return $this->hasOne('App\Term');
}

目的地模型

public function term()
{
return $this->hasOne('App\Term');
}

public function buses()
{
return $this->belongsToMany('App\Bus');
}

术语模型。

public function destination()
{
 return $this->belongsTo('App\Destination');
}
public function bus()
{
 return $this->belongsTo('App\Bus');
}