Я хочу знать, как лучше обновлять отношения, например, метод sync () для многих отношений.
У меня есть отношение один ко многим, как это:
Один вопрос может иметь несколько ответов, и один ответ может быть только для одного вопроса
Пользователь может изменить ответы на каждый вопрос, добавить дополнительные ответы или удалить некоторые (используя javascript) или изменить их при вводе страницы редактирования.
В обновлении QuestionsController @ я получаю такие ответы:
array:7 [▼
0 => "first response"1 => "second"2 => "third"]
(в зависимости от количества вопросов, которые отправил пользователь, оно может быть больше или меньше)
Я думал, что смогу сделать:
$question = Question::findOrFail($id);
$responses = $request->get('responses');
$question->responses()->sync($responses);
но это работает только для многих, чтобы многие отношения …
так что я делаю это:
$question = Question::findOrFail($id);
foreach($request->get('responses') as $response){
$responses[] = new Response(['content' => $response]);
}
$question->responses()->delete();
$question->responses()->saveMany($reponses);
Что ты об этом думаешь ? это работает, но у меня есть сомнения, что это лучшее, что можно сделать
Спасибо
Задача ещё не решена.
Других решений пока нет …