实现思路:
批量插入数据就是先将数据整合在一个数组里面,然后将这个数组直接插入到数据库中,从而实现一次性插入多条数据。
分两种情况
第一种情况:
全字段插入,就是这个数组中每条数据里面的键都和数据库里面字段名一致,且每个字段都有。
use yii\helpers\ArrayHelper; $rows = []; foreach ($models as $model) { if ($model->validate()) { $rows[] = $model->attributes; } } $rows = ArrayHelper::getColumn($models, 'attributes'); $postModel = new Post; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), $postModel->attributes(), $rows)->execute();
第二种情况:
非全字段
$rows[] = [ 'title' => $model->title, 'content' => $model->content, ]; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), ['title', 'content'], $rows)->execute();
相关推荐:yii
以上就是yii2怎么向数据库批量添加数据的详细内容,更多请关注php中文网其它相关文章!
声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
- 上一篇:yii2框架怎么设置缓存
- 下一篇:yii怎么手动生成错误日志
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论