laravel 中的购物车更新
Cart update in laravel
有这样的表格。这是一个更新表格,我只需要更新购物车中每个产品的数量。
但是我试图分解每个结果但没有用...它 return object2array 转换错误...这是我第一次收到此错误 我如何将其保存在数据库中?
<form action="update">
@foreach($products as $product)
<input type="text" name="products[]">
<input type="text" name="qty[]">
@endforeach
<input type="submit" calss="btn btn-primary">
这是我的控制器:
Route::post('aggiorna', function() {
$quantita = Input::all();
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$i = $i++;
}
return Redirect::to('carrello');
});
提前致谢。
您对数据库中存在的每个 $carreli
进行迭代,但是您永远不会保存该值。
Route::post('aggiorna', function() {
$quantita = Input::all();
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$i = $i++;
$carrelo->save();
}
return Redirect::to('carrello');
});
更新值后添加 $carrelo->save();
以便将其保存在数据库中。
使用Input::all();
时也要小心。这意味着您的数据数组包含产品和数量。我建议使用以下代码:
Route::post('aggiorna', function() {
$quantita = Input::get('qty');
$products = Input::get('products');
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$products = explode(',', $products);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$carrello->products = $products[$i];
$i = $i++;
$carrelo->save();
}
return Redirect::to('carrello');
});
但是因为我不知道你想要达到什么目的,所以我在这里发布了两个解决方案。
有这样的表格。这是一个更新表格,我只需要更新购物车中每个产品的数量。 但是我试图分解每个结果但没有用...它 return object2array 转换错误...这是我第一次收到此错误 我如何将其保存在数据库中?
<form action="update">
@foreach($products as $product)
<input type="text" name="products[]">
<input type="text" name="qty[]">
@endforeach
<input type="submit" calss="btn btn-primary">
这是我的控制器:
Route::post('aggiorna', function() {
$quantita = Input::all();
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$i = $i++;
}
return Redirect::to('carrello');
});
提前致谢。
您对数据库中存在的每个 $carreli
进行迭代,但是您永远不会保存该值。
Route::post('aggiorna', function() {
$quantita = Input::all();
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$i = $i++;
$carrelo->save();
}
return Redirect::to('carrello');
});
更新值后添加 $carrelo->save();
以便将其保存在数据库中。
使用Input::all();
时也要小心。这意味着您的数据数组包含产品和数量。我建议使用以下代码:
Route::post('aggiorna', function() {
$quantita = Input::get('qty');
$products = Input::get('products');
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get();
$quantita = explode(',', $quantita);
$products = explode(',', $products);
$i = 0;
foreach($carrelli as $carrello) {
$carrello->quantita = $quantita[$i];
$carrello->products = $products[$i];
$i = $i++;
$carrelo->save();
}
return Redirect::to('carrello');
});
但是因为我不知道你想要达到什么目的,所以我在这里发布了两个解决方案。