在Nova中具有条件数据字段的BelongsToMany是否可能?

时间:2019-05-28 07:49:02

标签: laravel-nova

我有一个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字段的类似情况吗?

0 个答案:

没有答案