过去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)
也许我应该在这里使用不同的设计模式,但我无法弄清楚。
谢谢!