【发布时间】:2015-04-23 09:42:57
【问题描述】:
我正在尝试通过在 Eloquent ORM 中使用多态关系来实现继承。
我的模型架构如下所示:
class Section extends Model {
public function blocks() { // section has many blocks }
}
abstract class Block extends Model {..}
class Exercise extends Block {..}
class Info extends Block {..}
所以在我的例子中,Section 有一个块数组(每个元素可以是练习或信息)。
我试图告诉 Eloquent,Section.blocks 是与 Block 的 hasMany 关系,而 Block 是morphedTo 通过它与 Exercise 或 Info 的 blockable 关系,但我失败了(而且它似乎也不是正确的方法,因为它创建了一个额外的属性,例如$section->blocks[0]->blockable,它应该是$section->blocks[0])。
我也尝试立即从 Section.blocks morphTo,但也失败了。
也许有人已经做到了这一点,并且可以为我指明正确的方向。
【问题讨论】:
标签: laravel inheritance ember.js polymorphism eloquent