【问题标题】:how to write update function with this database in laravel如何在 laravel 中用这个数据库编写更新函数
【发布时间】:2019-12-21 12:57:44
【问题描述】:

我正在尝试为订单和产品编写更新函数

我有这个数据库: - 订单表: id status user_id resturant_id created_at updated_at

-产品表: id 名称 价格resturant_id created_at updated_at

-订单产品: 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

【问题讨论】:

    标签: laravel api


    【解决方案1】:

    试试这个

    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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 2019-03-10
      • 1970-01-01
      • 2022-11-02
      • 2012-02-03
      • 2018-06-11
      • 2017-06-08
      • 1970-01-01
      • 2020-04-07
      相关资源
      最近更新 更多