Я пытаюсь добиться наследования, используя полиморфные отношения в Eloquent ORM.Полиморфное отношение в Eloquent ORM (Lavarel)
Моя модель схема выглядит следующим образом:
class Section extends Model {
public function blocks() { // section has many blocks }
}
abstract class Block extends Model {..}
class Exercise extends Block {..}
class Info extends Block {..}
Так что в моем случае секции имеет множество блоков (и каждый элемент может быть упражнение или Info).
Я пытался сказать, что красноречивые Section.blocks является hasMany отношение к Блок и Блок является morphedTo по его блокируемый отношение к упражнения или Info, но я не смог (и это также не похоже на правильный способ сделать это, потому что он создает одно дополнительное свойство, такое как $section->blocks[0]->blockable
, которое должно быть $section->blocks[0]
).
Я также попытался morphTo от Section.blocks сразу, но и не удалось.
Возможно, кто-то уже достиг этого и мог указать мне в правильном направлении.
Что я получаю от 'section-> relations-> blocks' ** null **. Вот как выглядит моя схема db: [db schema] (http://imgur.com/Mf0nDtj) – MyFantasy512
И это мои модели: [код модели] (http://wklej.to/C5brR) – MyFantasy512
Если у вас есть info и вы хотите получить раздел, тогда вы можете сделать это с помощью $ info-> sections –