dqfkd82886 2015-12-08 11:08
浏览 49
已采纳

如何访问与另一个表Laravel 5.1相关的一列

I have 3 models, Trials has one sample and track has one trial, I need to access sample name, I try to do this but get this error:

BadMethodCallException in Builder.php line 2024: Call to undefined method Illuminate\Database\Query\Builder::samples()

Controller:

public function track($id){
        $tracks = track::with('trials')->with('samples')->where('trials_id',$id)->get();

        return view('Tracks.index',compact('tracks'));
    }

Samples:

class samples extends Model
{
    protected $fillable = ['variety'];

    public function Trials()
    {
        return $this->belongsTo('App\trial');
    }

Trial:

class trial extends Model
{
    protected $fillable = ['amount','date','comments','code'];

    public function Samples()
    {
        return $this->hasOne('App\samples', 'id', 'samples_id');
    }

    public function Track()
    {
        return $this->belongsTo('App\track');
    }
}

Tracks:

class track extends Model
{
    public function Trials()
    {
        return $this->hasOne('App\trial', 'id', 'trials_id');
    }
}
  • 写回答

1条回答 默认 最新

  • doutonghang2761 2015-12-08 11:23
    关注

    Try it

    $tracks = track::with('trials.samples')->where('trials_id',$id)->get();
    

    Ref:- Nested Eager Loading

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line