首页 > 解决方案 > 如何更新新的集合值?

问题描述

我需要一种方法来更新我从 html 表单中获取的集合。

我有一个数组

Product ids: 
array:3 [
  0 => "1"
  1 => "2"
  2 => "3"
]

Product quantity: 
array:3 [
  0 => "15"
  1 => "5"
  2 => "7"
]

Product Price:

array:3 [
  0 => "12.00"
  1 => "2.50"
  2 => "4.00"
]

我正在将值存储/保存到数据库中,如下所示:

$product_ids = $request->get('product_ids');
$product_prices = $request->get('product_prices');
$product_quantities = $request->get('product_quantities');
$product_descriptions = $request->get('product_descriptions');

for ($i = 0; $i < sizeof($product_ids); $i++) {

    $item = new Order_item;

    $item->order_id = $order->id;
    $item->product_id = $product_ids[$i];
    $item->unit_price = $product_prices[$i];
    $item->description = $product_descriptions[$i];

    $item->quantity = $product_quantities[$i];

    $item->save();
}

标签: phpsqllaravel

解决方案


您可以根据id找到记录,然后保存更改的数据:

$flight = App\Flight::find(1);

$flight->name = 'New Flight Name';

$flight->save();

来自https://laravel.com/docs/7.x/eloquent#updates

如果您使用 order_id 作为键,则使用带有 first() 的 where() 语句:

$order = App\Order_item::where('order_id', 1)->first();

推荐阅读