在我的数据库中,我有一列类似于
在我的视图中,我使用了Jquery和Html,并且在点击“添加更多”按钮时,jquery会动态地添加更多的输入字段,如product_id、service、delivery_cost、qty、delivery_date、order_status。在提交表单时,我通过
我的问题是如何将这些数据保存在数据库中。
id、product_id、company_name、service、qty、delivery_cost、delivery_date、order_status
的内容。在我的视图中,我使用了Jquery和Html,并且在点击“添加更多”按钮时,jquery会动态地添加更多的输入字段,如product_id、service、delivery_cost、qty、delivery_date、order_status。在提交表单时,我通过
dd($allData);
来获取控制器中的数据。我的问题是如何将这些数据保存在数据库中。
array:8 [▼
"_token" => "gSddIeA11OBV60xU9YiDXn8fmsfkwxlQ85QmDdkQ"
"service" => array:3 [▼
0 => "cement"
1 => "iron"
2 => "steel"
]
"qty" => array:3 [▼
0 => "5"
1 => "44"
2 => "5"
]
"delivery_cost" => array:3 [▼
0 => "5465"
1 => "553"
2 => "554"
]
"delivery_date" => array:3 [▼
0 => "2016-12-16"
1 => "2016-12-08"
2 => "2016-12-17"
]
"order_status" => "Confirm"
"delivery_vehicle" => array:1 [▼
0 => "Self_elivery"
1 => "Self_elivery"
2 => "Self_elivery"
]
]
public function store(Request $request)
{
$allData= $request->all();
dd($allData);
$product = new Order;
}
我尝试这样做
public function store(Request $request)
{
$date = $request->get('delivery_date');
$cost = $request->get('delivery_cost');
$service = $request->get('service');//add quotes next to service
foreach($date as $deliveryDate)
{
foreach($cost as $proAmount){
$db = new Order;
$db->delivery_date = $deliveryDate;
$db->amount = $proAmount;
$db->save();
}
}
return"ok";
}
我尝试过这种方法,但是由于循环中还有一个循环,所以它会多次存储相同的数据。我需要你的帮助将这些数据存储在数据库中。
->default()
或->nullable()
为每个列定义默认值。 - Alexey Mezenin$db->delivery_cost = isset($data['delivery_cost'][$i]) ? $data['delivery_cost'][$i] : 0;
or if you're using PHP7$db->delivery_date = $data['delivery_date'][$i] ?? 0
- Alexey Mezenin