如何使用 Laravel Eloquent 插入关联数组
我有这个数组
$data = array (
0 =>
array (
'first_id' => string '52763718329'
'second_id' => string '222122'
),
1 =>
array(
'first_id' => string '527628573' (length=9)
'second_id' => string '22210' (length=5)
)
);
$model = new MyModel;
//$model->$data how do I pus data array?
$model->save();
$data = $data->ToArray();
DB::table('mytable')->insert($data);
我遇到了同样的问题。 Laravel 5 说它可以处理多个数组,但似乎从来没有工作过。
一个简单的解决方案是循环并使用 foreach 进行插入。
foreach($data as $insert){
$id = \DB::table('tablename')->insertGetId($insert);
}
您还可以将其包装在事务中,这样如果其中一项失败,它们就会回滚所有内容。
//transaction start
\DB::beginTransaction();
foreach($data as $insert){
$id = \DB::table('tablename')->insertGetId($insert);
if(empty($id){
Log::error('Failed to insert row into database.');
\DB::rollback();
break;
}
}
//save everything
\DB::commit();
Its Work very well in Laravel 5
if you have an Arry for example
> item_array_m = array('name'=>'jhon','surname'=>'Doe');
In Eloquent the insert Query is save(); to insert in this way
> public function store(item_array_m)
> {
> var_dump($item_array_m);
> $flight = new Carrito;
>
> $flight->name = $item_array_m["name"];
> $flight->surname = $item_array_m["surname"];
>
>
> $flight->save();
> }