【发布时间】:2017-02-01 01:38:13
【问题描述】:
我的数据库设计如下图所示。
一门课程有很多模块 模块变形为 Scorm 和其他 2 个表(本示例中未使用) 一个 scorm 变形一个模块并且有很多 Scoes 我正在尝试从我的课程模型中访问所有相关的分数:
$course->scoes.
我正在使用 Laravel 5.2,使用 Eloquent 关系,我知道这是不可能的。经过几次测试,使用查询生成器我实际上可以返回正确的数据,但是,它们作为 Module::class 而不是 Scorm 和 Sco 的实例返回。
这是我现在的代码。
谢谢,
public function modules() {
return $this->hasMany(Module::class);
}
public function scorms(){
return $this->modules()->where('moduleable_type','=','scorms');
}
public function scoes(){
return $this->scorms()->select('scoes.*')
->join('scoes','modules.moduleable_id','=','scoes.scorm_id');
}
【问题讨论】:
标签: php laravel eloquent laravel-5.2 laravel-query-builder