4 回答
TA贡献1906条经验 获得超10个赞
尝试这样
$data = [
[...], [...]
]
foreach($data as $item) {
YourModel::create($item); // YourModel::insert($item);
//Database::table($this->dbname)->insert($item);
}
或批量插入
YourModel::insert($data); <-- Eloquent
// DB::table($this->dbname)->insert($data); <-- Query Builder
TA贡献1802条经验 获得超5个赞
$arraylist代码中没有变量。我想你的意思是$insertableData。如果是,则替换$arraylist为$insertableData.
你实际上并不需要循环:
$insertableData = [
['name' => 'joe', 'card_type' => 'mastercard', 'balance' => 100 , 'last_ip'=> '122.154.1.5'],
['name' => 'sara', 'card_type' => 'visa', 'balance' => 10 , 'last_ip'=> '125.194.11.150'],
];
DB::table($this->dbname)->insert($insertableData);
TA贡献1828条经验 获得超4个赞
使用 Eloquent 或查询构建器在 Laravel 中进行批量插入非常容易。
您可以使用以下方法。
$data = [
['user_id'=>'Coder 1', 'subject_id'=> 4096],
['user_id'=>'Coder 2', 'subject_id'=> 2048],
//...
];
Model::insert($data); // Eloquent approach
DB::table('table')->insert($data); // Query Builder approach
- 4 回答
- 0 关注
- 170 浏览
添加回答
举报