我使用Angular2作为我的前端,laravel作为我的后端。我试图解析一个数组并将其全部存储到不同的行中,但是当前只有最后收到的记录被保存到数据库中。只有最后收到的记录被保存到数据库
public function SaveOrder(Request $request) {
$input = $request->all();
$order = new Order;
foreach ($input as $arr) {
foreach ($arr as $key => $value) {
if (array_key_exists($key, $arr) && !empty($value)) {
$order->$key = $value;
}
}
}
$order->save();
}
$input = $request->all();
foreach ($input as $arr) {
var_dump($arr);
foreach ($arr as $key => $value) {
if (array_key_exists($key, $arr) && !empty($value)) {
}
}
}
的var_dump阵列的
是的,这是低效的。您的批量插入应该在2个循环的*外*。在循环中,您只应构建插入数据数组,而不执行数据库查询。 – lesssugar
@lesssugar如果我把它移到第一个foreach之外,我有和以前一样的问题,它只保存最后一条记录 – ghan