多态关系+ HasMany

时间:2017-07-22 11:28:51

标签: php laravel polymorphism

过去3天我一直试图弄清楚这一点,没有任何改善。

基本上,我有一个名为 ContentStack 的模型,其多态关系称为 contentable 到多个其他模型(每个模型包含不同类型的内容,如VideoContent,ImageContent,TextContent。每个都有不同的列。)

我希望能够根据contentable_type列动态获取ContentStack的相关模型。哪个使用如下的多态关系。

class Contentstack extends Model
{
protected $table = 'contentstack';

protected $fillable = [
    'appId','contentable_id','contentable_type'
];

public function contentable()
{
    return $this->morphTo();
}

}

我遇到的问题是,每个相关模型实际上应该有很多行相关而不仅仅是一个,就像HasMany关系一样,如下所示(注意contentstackID字段):

class VideoContent extends Model
{
    //
protected $table = 'video_content';

protected $fillable = [
    'contentstackID','image','category'

];

}

最终我想要实现的是:

让ContentStack根据contentable_type列自动确定从哪个模型获取内容,但从相关模型表中获取所有行而不是一个(基于相关模型中的contentstackId)

也许我应该在这里使用不同的设计模式,但我无法弄清楚。

谢谢!

0 个答案:

没有答案