【发布时间】:2014-01-26 23:19:27
【问题描述】:
我有一系列相关的表格;
trainers -> hasMany -> programs
programs -> hasMany -> weeks
weeks -> hasMany -> days
days -> hasMany -> sessions
sessions -> hasMany -> phases
phases -> hasMany -> excersises
相反方向的关系都有一个接受到阶段的练习,这也是 hasMany 和一个数据透视表
按照文档这样深入地建立关系显然可以正常工作
$programs = $this->program->orderBy('trainerId', 'asc')->take(1)->with('weeks.days')->get();
我需要能够检索整个程序的内容,并且我认为我可以像这样急切地加载每个嵌套关系
$programs = $this->program->orderBy('trainerId', 'asc')->take(1)->with('weeks.days', 'weeks.days.sessions')->get();
或
$programs = $this->program->orderBy('trainerId', 'asc')->take(1)->with('weeks.days.sessions')->get();
但两者都返回 FatalErrorException
调用未定义的方法 Illuminate\Support\Facades\Session::newQuery()
这样做的正确方法是什么?
【问题讨论】:
标签: php mysql database laravel-4 eloquent