首页 » Web前端 » phpyii插入技巧_Yii2批量插入数据

phpyii插入技巧_Yii2批量插入数据

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

批量插入我们利用 batchInsert ,至于详细用法大家可以看文档,不看文档也没紧要,相信大家直接看例子也能明白。

批量插入的例子

//要插入地表的名称$tableName = Post::tableName();

phpyii插入技巧_Yii2批量插入数据

//要插入的字段$field = [‘id’,’name’];

phpyii插入技巧_Yii2批量插入数据
(图片来自网络侵删)

//要插入的数据(注:是一个二维数组)$insertData[] = [1,”PHP学习网”];$insertData[] = [2,”PHP学习网”];$insertData[] = [3,”PHP学习网”];$insertData[] = [4,”PHP学习网”];$insertData[] = [5,”PHP学习网”];$insertData[] = [6,”PHP学习网”];

//实行,返回值为插入成功的数目$totalnum = Yii::$app->db->createCommand()->batchInsert($tableName,$field,$insertData)->execute();

以上是没有经由数据合法效验的,若是须要效验请利用

$rows = [];foreach ($insertData as $model) {if (!$model->validate()) {// 处理无效数据break;}$rows[] = $model->attributes;}$totalnum = Yii::$app->db->createCommand()->batchInsert($tableName,$field,$rows)->execute();

若是效验确实不须要,也可以利用,下面的方法简化效验use yii\helpers\ArrayHelper;$rows = ArrayHelper::getColumn($insertData, ‘attributes’);

接下来实行$post = new Post();Yii::$app->db->createCommand()->batchInsert(Post::tableName(), $post->attributes(), $rows)->execute();

至于是哪种还须要开拓过程中灵巧利用,选择得当自己的。

相关文章