Мой дизайн базы данных выглядит так, как показано на диаграмме ниже.
Курс имеет много модулей. Модули преобразуются в Scorm и другие 2 таблицы (не используются в этом примере). Scorm преобразует один модуль и имеет много Scoes. Я пытаюсь получить доступ из моей модели курса ко всем связанным 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');
}