【发布时间】:2016-12-04 16:11:34
【问题描述】:
我想用 laravel 将多个输入表单保存到数据库中,当我使用 dd 检查时很好,但是如何将其保存到数据库中?
这里是我的控制器
public function store(Request $request){
$input = Input::all();
$servicedata = $input['service_id'];
$employeedata = $input['emp_id'];
$allOrder = array();
foreach ($employeedata as $key => $val) {
$detailorder = new DetailOrder;
$detailorder->employee_id = $input['emp_id'][$key];
$detailorder->mandays = $input['mandays'][$key];
foreach ($servicedata as $key => $val) {
$detailorder->sales_order_id = $request->sales_order_id;
$detailorder->serivce_id = $input['service_id'][$key];
$detailorder->order_type = $input['order_type'][$key];
$detailorder->select_plan = $input['select_plan'][$key];
$detailorder->qty = $input['qty'][$key];
$detailorder->unit_price = $input['unit_price'][$key];
$detailorder->note = $input['note'][$key];
}
$allOrder[]=$detailorder;
}
//dd($allOrder);
$allOrder->save();
}
当我尝试使用 $detailorder->insert($allOrder); 时,我收到这样的错误
SQLSTATE[42S22]:未找到列:1054 '字段列表'中的未知列 '0'(SQL:插入到
detail_orders(0) 值({"employee_id":"2","mandays" :"3","sales_order_id":"1","serivce_id":"2","order_type":"change","select_plan":"plan 2","qty":"1","unit_price": "300","note":"测试 2"}))
-->已编辑
我的dd 结果
array:2 [?
0 => DetailOrder {#262 ?
#attributes: array:9 [?
"sales_order_id" => "4"
"serivce_id" => "1"
"order_type" => "add"
"select_plan" => ""
"qty" => "1"
"unit_price" => "200"
"note" => ""
"employee_id" => "2"
"mandays" => "3"
]
1 => DetailOrder {#268 ?
#attributes: array:9 [?
"sales_order_id" => "4"
"serivce_id" => "2"
"order_type" => "change"
"select_plan" => ""
"qty" => "1"
"unit_price" => "300"
"note" => ""
"employee_id" => "2"
"mandays" => "3"
]
【问题讨论】:
-
请显示 dd($allOrder) 的输出和表格的截图。
-
$detailorder->save();试试看 -
嗨@Md.Abutaleb 我一直在更新我的问题
-
@ChoncholMahmud 只是保存最后的数据,不是吗?
-
它将保存所有数据。使用
$detailorder->save();而不是$allOrder->save();