"要素"を含む "領域"というLaravelモデルがあります。 要素は異なるモデル(この場合は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());
}
最後の機能「の要素は、」ちょうど私が達成しようとしているものを説明することです。
提案がありますか?前もって感謝します。
よろしくお願いします。