Laravel - возможно ли сохранить много строк в одном запросе? - PullRequest
0 голосов
/ 01 июля 2018

У меня есть следующий клинок:

    <form method="post" action="{{ route('update-document') }}">
    {{csrf_field()}}
    @foreach($customerDocuments as $document)

    {!! Form::select('documents',['approved'=>'Approved', 'rejected'=>'Rejected', 'uploaded'=>'Uploaded'], $document->status, ['class' => 'form-control']) !!}
    @endforeach
    {!! Form::submit('Save', ['class=', '"btn btn-primary"']); !!}
    </form>

У меня есть около 4 строк, в каждой из которых есть поле выбора. Я хочу, чтобы мой метод обновления сохранял все строки одновременно.

Проблема в том, что $request Laravel по умолчанию знает, как обновить одну строку, а не много.

Есть ли способ передать все данные из всех строк в мой $request объект?

1 Ответ

0 голосов
/ 01 июля 2018

Поместите кнопку сохранения за пределы цикла foreach, дайте каждому select ссылку на объект, который он обновляет, и в вашем методе контроллера выполните синтаксический анализ $ request для обновления правильных объектов. Мне проще использовать AJAX и отправить JSON для описания чего-то подобного. Например, идентификатор вашего выбора может быть идентификатором записи, который вы хотите обновить. Затем ваш JS может построить JSON и использовать идентификатор в качестве ключа для словаря со всеми значениями, которые необходимо обновить для этой строки. Может быть способ сделать это с использованием синтаксиса блейдов, но я не знаю об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...