【发布时间】:2020-10-18 07:57:14
【问题描述】:
如何更新 Laravel 中的多个输入?我有两张桌子:Order 和 Detail_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');
}
【问题讨论】:
-
请更具体。您的标题要求更新多个输入,但您的代码显示基于请求对象中设置的输入字段创建对象。您喜欢在运行商店功能后更新网页上的多个输入还是您指的是哪种类型的多个输入?
-
感谢您的评论。当我单击网页上的按钮编辑并显示输入表单时,我想编辑多个输入。