Laravel Nova - Сохранить несколько строк в базе данных при создании - PullRequest
0 голосов
/ 30 декабря 2018

Я конвертирую приложение Laravel, которое использовало Backpack, в Laravel Nova.

Одна из моих моделей Images позволяет пользователю добавлять несколько изображений с базовым набором информации из начальной формы.Форма в этом примере запрашивает, сколько изображений в серии, с помощью раскрывающегося списка, а затем содержит ряд соответствующих полей, которые будут использоваться для всех добавляемых новых изображений.При сохранении в контроллере я использую следующую красноречивую функцию для запуска ряда задач и вставки необходимого количества строк:

public function store(StoreRequest $request){
  //Get some info
  //Make some tweaks
  //Use for loop to save multiple records
  for ($k = 0; $k < $addim; $k++){
    //Do some stuff      
    parent::storeCrud(${"request"});
  }
}

Это отлично работает и вставляет, сколько требуется записей.

В Laravel Nova я не вижу способа использовать этот же подход.Использование прослушивателя событий в модели не похоже на правильный способ сохранения нескольких записей, и я не могу найти ссылку на функцию контроллера, которую можно использовать для достижения этой цели.

Я был бы очень признателен за некоторые мыслии руководство о том, как лучше завершить эту часть.

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете использовать событие сохранения в наблюдаемой

https://laravel.com/docs/5.8/eloquent#events

...