php - 如何更新新的集合值?
问题描述
我需要一种方法来更新我从 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();
}
解决方案
您可以根据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();
推荐阅读
- flutter - 滑动以返回在 ios 中的颤振 webview 中不起作用
- html - HTML 输入的调度键盘事件未更新值
- sql-server - 如果在 SSMS 中不满足条件,where 子句不返回任何内容
- python-3.x - 为什么此事件调度程序中缺少默认处理程序?
- python - 将 2021-01-18T11:18:10.833876+00:00 转换为日期时间 python
- visual-studio - Visual Studio 颜色代码?
- javascript - vscode - 让 javascript 文件相互了解
- python - 继承和查询模型后缺少属性
- django - 获取 json 文件中价格大于给定价格的所有条目
- node.js - 以编程方式停止/开始执行步进功能