php - 如何处理带有 laravel 请求的数组?
问题描述
我正在使用这样的简单表单和数组输入(不是动态的)
<input type="text" name="pre_ref_position[]" id="pre_ref_position">
<input type="text" name="pre_ref_position[]" id="pre_ref_position">
用ajax形式发布并返回这样的数据;
[
0:{pre_ref_position:'example1'}
1:{pre_ref_position:'example2'}
]
所以我想用 eloquent 保存这些数据,但是如何处理这个数组并将每一行保存在数据库中?
解决方案
$refVal
假设您在控制器中调用的变量中收到数组
然后使用以下代码:
$refArr = [];
foreach($refVal as $key => $val)
{
$now = Carbon::now();
//ref_pos in the array below refers to the field name in your database.
$refArr[] = [ 'ref_pos' => $val['pre_ref_position'] ,'created_at' => $now, 'updated_at' => $now ];
}
//assuming model name is `Position`
Position::insert($refArr);