【发布时间】:2019-05-01 04:14:35
【问题描述】:
我有一个名为“Partner”的 Nova 资源,其中包含字段:
public function fields(Request $request)
{
return [
Text::make('Name*', 'name')->rules('required')->sortable()->onlyOnForms(),
Text::make('Name', 'name')->sortable()->exceptOnForms(),
BelongsTo::make('Rate*', 'customrate', 'App\Nova\Rate')
->onlyOnForms()->nullable(),
BelongsTo::make('Rate', 'customrate', 'App\Nova\Rate')
->searchable()->exceptOnForms(),
];
}
另外,我有一个名为“Rate”的相关 Nova 资源及其各自的字段方法:
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Text::make('Name*', 'name')->rules('required')->onlyOnForms(),
Text::make('Name', 'name')->exceptOnForms(),
Text::make('Flat Fee*', 'flat_fee')->rules('required')->onlyOnForms(),
Text::make('Flat Fee', 'flat_fee')->exceptOnForms(),
HasMany::make('Partner*', 'partner', 'App\Nova\Partner')->onlyOnForms(),
HasMany::make('Partner', 'partner', 'App\Nova\Partner')->exceptOnForms(),
];
}
现在,我可以从合作伙伴的表单中为“合作伙伴”添加“费率”。
但是现在,客户希望能够从“Rate”的编辑表单中添加多个“合作伙伴”。如何使这成为可能?有什么想法吗?
现在 Nova 让我可以选择在 Rate 下创建新的多个合作伙伴,但不能将现有的合作伙伴附加到 Rate。
【问题讨论】:
-
为了使它成为可能,在内部,应该有一个多对多的数据透视表,比如
partner_rate。对于转换,您必须通过 SQL 查询或 laravel 迁移插入现有条目。
标签: laravel laravel-nova