我有一个Nova的用例,但不确定如何使用。这是我想像的事情将要发生的事情:我有一个通用的Product
模型,该模型会使用数据透视表在多对多关系的基础上附加许多不同的Attribute
模型。数据透视表还将数据(可能以JSON形式)绑定到Attribute模型。
假设我们有一个名为“ volume”的属性,它的类型为“ number”。将卷Attribute
附加到Product
时(用Nova表示),用户还将输入一个数字,然后将其存储在数据透视表中。
然后,我们还有一个名为“ colour”的Attribute
,它的类型为“ select”,而“ options”字段具有固定的颜色列表。将颜色Attribute
附加到Product
时,系统会提示用户使用下拉菜单,从中可以从固定的颜色列表中选择一种颜色。
当前,看来Nova的BelongsToMany字段不允许这种用例,因为在BelongsToMany字段的->fields()
函数中无法执行条件逻辑。目前,我对如何克服限制感到迷茫。
我目前的最佳想法是扩展BelongsToMany字段(在PHP和Vue方面),以便允许前面描述的条件逻辑,或者构建一个进入->fields()
函数的“ hacky”自定义字段,该函数将删除DOM中原始的BelongsToMany
select
字段,并将其替换为自己的字段。自定义字段将获取必要的数据并显示相应的数据字段。
TL; DR:
我想将Attribute
模型附加到Product
模型上,只显示取决于Attribute
模型的type
值的特定枢轴字段。
有人遇到需要在Nova中添加其他数据的meta / pivot字段的类似情况吗?