У меня есть форма, где пользователь может редактировать, создавать или удалять способы доставки.Пользователь отправляет форму и данные обновляются.
Я хочу вернуть методы доставки пользователя после их редактирования.Но я, кажется, получаю старые данные вместо обновленных данных.
$user = \App\User::where('user_id', $user->id)->first();
$user->shipping_methods->each(function($method) {
$method->delete();
});
$methods = [];
foreach ($request->input('methods') as $method) {
$methods[] = new \App\ShippingMethod($method);
}
$user->shipping_methods()->saveMany($methods);
return response()->json($user->shipping_methods->toArray());
(на данный момент код просто удаляет старые методы доставки и заменяет их новыми).Я использую красноречивые отношения для получения методов доставки.
Так что, когда я делаю:
return response()->json($user->shipping_methods->toArray());
, почему я не получаю новые результаты, вместо этого я получаю результаты доОбновить?Использует ли он результаты первого $user->shipping_methods
в строке 3?Должен ли я как-то «обновить» запрос?