2
我有一个名为“Area”的Laravel模型,其中包含“Elements”。 元素可以是不同的模型(在这种情况下是FreetextElement和CheckboxElement)。整个事物与一个多态枢轴表 有关,它包含area_id,element_id和element_type。 基本关系正常工作。 如果我的例子说:Laravel获取不同模型的多态关系
$area->freetextElements
然后我得到附加到特定区域内的所有freetextElements。 我的问题是我想要一个关系函数,它可以获取所有连接到该区域的元素,而不管他们的模型。
下面是区域关系:
public function freetextElements()
{
return $this->morphedByMany(ElementFreetext::class, 'element', 'coaching_element_area_element');
}
public function checkboxElements()
{
return $this->morphedByMany(ElementCheckbox::class, 'element', 'coaching_element_area_element');
}
//find a better solution for this
public function elements()
{
return array_merge($this->freetextElements->all(), $this->checkboxElements->all());
}
最后一个函数“元素”仅仅是为了说明什么,我想要的目的。
有什么建议吗?提前致谢。
最好的问候