【发布时间】:2015-07-06 10:53:14
【问题描述】:
我设置了多对多关系,并且还对数据透视表进行了建模。此外,在枢轴模型中,我设置了 morphToMany 关系。
这是设置的图解表示。
我遇到的问题是我无法在数据透视模型上引入 joins 属性。
我的 Dimension 模型中有此代码;
return $this->belongsToMany('Datasource', 'dimension_datasource')->withPivot('joins');
但我收到此错误:未知列 dimension_datasource.joins
我尝试在数据透视模型上设置访问器,但由于出现相同的错误,它似乎被忽略了。
谢谢,
杰夫
【问题讨论】:
-
请展示您的模型,您是否为数据透视表设置了模型?您是如何在 dimension_datasource 表上设置变形关系的?
-
是的,有一个 Dimension_datasource_pivot 模型和一个对应的 Dimension_datasource 类,它只有一个方法:newPivot,它返回一个 Dimension_datasource_pivot 的实例。对于 morph 关系,我有一个名为“joinables”的数据透视表,其中 Dimension_datasource_pivot 作为 joinable_type,如果适用。
-
您的其他模型是否在扩展您的新基础枢轴模型?
-
是的,DImension 和 Datasource 都扩展了 Dimension_datasource。
-
您应该按字母顺序排列您的数据透视表名称。所以应该是datasource_dimension
标签: laravel eloquent relationships