【发布时间】:2021-01-23 08:21:49
【问题描述】:
这是一个 laravel vue 项目。我想更新我的购物车。
发送到控制器的请求看起来像
我的控制器
public function update(Request $request)
{
$carts = Auth::user()->carts;
foreach ($carts as $cart){
$cart->delete();
};
foreach ($request as $data){
$newCart = new Cart();
$newCart->user_id = Auth::id();
$newCart->product_id = $data->product_id;
$newCart->variant_id = $data->variant_id;
$newCart->color_id = $data->color_id;
$newCart->quantity = $data->quantity;
$newCart->save();
}
return response()->json('Cart Successfully Updated',200);
}
现在为什么我面临未定义的属性:Symfony\Component\HttpFoundation\ParameterBag::$product_id" 错误
【问题讨论】:
-
A
Request是一个具有公共属性的对象,所以当你迭代它时你会得到它们,而不是输入......你可能希望迭代$request->all()或$request->json() -
谢谢#lagbox,$request->all() 工作正常