laravel - 如何在 laravel 中用这个数据库编写更新函数
问题描述
我正在尝试为订单和产品编写更新功能
我有这个数据库:-orders 表:id status user_id resturant_id created_at updated_at
-产品表:id名称价格resturant_id created_at updated_at
-order_product:order_id product_id created_at updated_at
订单表和产品表之间存在多对多
public function createOrder(Request $request)
{
$order = new Order;
$order->status = $request->status;
$order->user_id = $request->user_id;
$order->resturant_id = $request->resturant_id;
$order->save();
$product = Product ::find($request->products);
$order->product()->attach($product);
return 'Success';
}
public function UpdateOrder(Request $request , $id){
$order = Order::find($id);
$order->status = $request->status;
$order->user_id = $request->user_id;
$order->resturant_id = $request->resturant_id;
$order->update();
$product = Product ::find($request->products);
$order->product()->sync($product);
}
这是请求
{
"status":" not ready",
"user_id" : 3,
"resturant_id" : 1,
"created_at": "2019-08-13 23:32:40",
"updated_at": "2019-08-14 00:01:16",
"products" :[
{"product_id" : 4 },
{"product_id" : 6 }
]
}
它只更新产品的 ID
解决方案
尝试这个
public function UpdateOrder(Request $request , $id){
$order = Order::find($id);
$order->status = $request->status;
$order->user_id = $request->user_id;
$order->resturant_id = $request->resturant_id;
$order->save();
$product = Product ::find($request->products);
$order->product()->sync($product);
}
我不知道它是否会更新,$product
但这会更新$order
希望能帮助到你
推荐阅读
- python - 文件内容匹配——购物清单程序
- python - Python 中的 ElasticSearch:单独的术语查询之间的连接
- javascript - 如何在 React Native 中将查询变量传递给我的查询?
- typescript - 所有 React Native Firebase 模块必须具有相同的版本 - 不能使用 Auth
- ios - Xamarin Forms Shell 覆盖 iOS (iPad) 上的顶级信息行
- c# - 如何从调度程序计时器创建历史数组?C#
- php - FFMEG:完成转换后运行代码
- php - 从字符串中删除重复项
- spring-boot - 带有弹簧启动的云卡夫卡给了我错误
- r - 在包含给定日期后两年的数据框中创建一个新列