Laravel nova - присоединение нескольких моделей из формы редактирования / создания с помощью отношения HasMany - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть ресурс Nova с именем "Partner" с полями menthod:

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(),
    ];
}

Кроме того, у меня есть связанный ресурс Nova с именем "Rate" с методом соответствующих полей:

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(),
    ];
}

Теперь я могу добавить «Рейтинг» к «Партнеру» из формы Партнера.

enter image description here

Но теперь клиент хочет бытьвозможность добавить несколько "партнеров" из формы редактирования "Оценить".Как сделать это возможным?Есть идеи?

Теперь Nova дает мне возможность создавать новых Партнеров по Ставке, но не привязывать уже существующих Партнеров к Ставке.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы не можете ничего прикрепить к HasMany.Существует проблема / запрос для этого https://github.com/laravel/nova-issues/issues/520

Текущее возможное решение - это использование BelongsToMany с сводной таблицей.

...