【问题标题】:Update Multiple Input Laravel更新多输入 Laravel
【发布时间】:2020-10-18 07:57:14
【问题描述】:

如何更新 Laravel 中的多个输入?我有两张桌子:OrderDetail_Order。这是我创建多个输入的控制器。

public function store($id_trip, Request $request){
    $order = new Order();
    $order->id_trip = $id_trip;
    $order->id_users = Auth::guard('operator')->user()->id_users;            
    $order->date_order = date('Y-m-d H:i:s');
    $order->id_users_operator = Auth::guard('operator')->user()->id_users;
    $order->save();

    foreach($request->passenger_name as $key => $value){
        Detail_Order::create([
            'id_trip' => $order->id_trip,
            'id_seat' => $request->id_seat[$key],
            'id_order' => $order->id_order,
            'passenger_name' => $request->passenger_name[$key],
            'address' => $request->address[$key],
            'phone_number' => $request->phone_number[$key]
        ]);
    }
}

我尝试更新它,但我不知道如何更新 Detail_order。这是我的更新控制器:

    public function update($id_order, $id_trip, Request $request){

        $order = Order::where(['id_order' => $id_order, 'id_trip' => $id_trip])->first();
        $order->id_trip = $request->id_trip;
        $order->id_users = Auth::guard('operator')->user()->id_users;            
        $order->save();

        $detail = Detail_Order::where(['id_order' => $id_order, 'id_trip' => $id_trip])->get();

        if(count($request->id_seat) > 0){
            for($i = 0; $i < count($request->id_seat); $i++){
                $detail[$i]->id_trip = $order->id_trip;
                $detail[$i]->id_seat = $request->id_seat[$i];
                $detail[$i]->id_order = $pesanan->id_order;
                $detail[$i]->passenger_name = $request->passenger_name[$i];
                $detail[$i]->address = $request->address[$i];
                $detail[$i]->phone_number = $request->phone_number[$i];
                $detail[$i]->save();
            }
        }

     session()->flash('flash_success', 'Data has been updated');
     return redirect('/order');
}

【问题讨论】:

  • 请更具体。您的标题要求更新多个输入,但您的代码显示基于请求对象中设置的输入字段创建对象。您喜欢在运行商店功能后更新网页上的多个输入还是您指的是哪种类型的多个输入?
  • 感谢您的评论。当我单击网页上的按钮编辑并显示输入表单时,我想编辑多个输入。

标签: mysql laravel


【解决方案1】:

$order-&gt;save(); 行之后,你可以做这样的事情...... 如果它工作得很好..如果不是你可以在下面评论。我会给你解决方案...

$order->save();

 $detail =  Detail_Order::where('order_id', $order->id)->get();

if(count($request->id_seat) > 0){

    for($i = 0; $i < count($request->id_seat); $i++){
        
        $detail[$i]->order_id = $order->id;
        $detail[$i]->id_seat = $request->id_seat[$i],
        $detail[$i]->passenger_name = $request->passenger_name[$i];
        $detail[$i]->save();

    } 
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 2018-11-07
  • 2018-12-09
相关资源
最近更新 更多