【发布时间】:2018-11-20 23:16:31
【问题描述】:
我有一个表单,用户可以在其中编辑、创建或删除运输方式。 用户发送表单并更新数据。
我想在编辑后返回用户的送货方式。 但我似乎取回了旧数据,而不是更新后的数据。
$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());
为什么我没有得到新的结果,而是得到了更新前的结果?是否使用第 3 行第一个 $user->shipping_methods 的结果?我应该以某种方式“刷新”查询吗?
【问题讨论】: