Итак, у меня есть несколько полей ввода в массив
<input type="text" name="messages[{{ $i }}]" id="messages" class="form-control" >
Каждый $i
представляет массив циклов, и из этого массива мне нужно сохранить каждый в отдельном ряду, в то же время, которое должно бытьвроде как синхронизировал, удаляя старые данные для этого пользователя и вставляя новые.
В настоящее время у меня есть это, и это на самом деле работает, проблема в том, что он сохраняет строки в базе данных таким странным образом, что они не располагаются впорядок.
Так что в моей User
модели у меня есть это
public function messages() {
return $this->hasMany(Message::class);
}
Когда я нажимаю кнопку обновления на моей странице, в моем UserController
у меня есть это:
$user = User::find($id);
$user->name = $request->name;
$user->lastname = $request->lastname;
$user->save();
$user->messages()->delete();
if(is_array($request->messages)) {
foreach($request->messages as $message) {
if(!empty($message)){
$user->messages()->create(['user_id' => $user->id, 'message' => $message]);
}
}
}
Так что это работает, но порядок сообщений в таблице не в порядке:
+----+---------+--------------------------+
| id | user_id | message |
+----+---------+--------------------------+
| 6 | 12 | This is third message |
| 5 | 12 | And now second message |
| 4 | 12 | First message |
| 7 | 12 | This should be forth one |
+----+---------+--------------------------+