在 Yii2 中,你可以使用 batchInsert
方法来执行批量插入操作
use yii\db\Query;
$data = [
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 25],
['name' => 'Charlie', 'age' => 35],
];
$query = new Query();
$query->createCommand()->batchInsert('user', ['name', 'age'], $data)->execute();
在这个例子中,我们首先创建了一个包含多个用户数据的数组 $data
。然后,我们创建了一个新的 Query
对象,并使用 createCommand()
方法获取一个命令对象。接下来,我们调用 batchInsert()
方法,指定要插入数据的表名、列名和数据数组。最后,我们调用 execute()
方法执行批量插入操作。
注意:batchInsert
方法在 Yii2 的较新版本中可用。如果你使用的是较旧的 Yii2 版本,可能需要使用其他方法来实现批量插入,例如使用 createCommand()->insert()
方法多次插入单条记录。
此外,还可以使用 yii\db\BatchInsert
类来实现批量插入操作:
use yii\db\BatchInsert;
$data = [
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 25],
['name' => 'Charlie', 'age' => 35],
];
$batchInsert = new BatchInsert('user', ['name', 'age']);
$batchInsert->data($data);
$batchInsert->execute();
在这个例子中,我们创建了一个 BatchInsert
对象,并使用 data()
方法设置要插入的数据。然后,我们调用 execute()
方法执行批量插入操作。这种方法更加面向对象,易于扩展和维护。
领取专属 10元无门槛券
手把手带您无忧上云