Yii2如何批量添加数据,Yii2批量添加数据_PHP教程
Yii2如何批量添加数据,Yii2批量添加数据
批量添加这个操作,在实际开发中经常用得到,今天小编抽空给大家整理些有关yii2批量添加的问题,感兴趣的朋友一起看看吧。
在上篇文章给大家介绍了关于浅析Yii2 gridview实现批量删除教程,当然,着重点在于怎么去操作gridview了,今儿我们来好好谈谈yii2如何批量添加数据?
有同学嚷嚷了,这还不简单,我foreach一循环,每个循环里面直接把数据插入到数据库,简单粗暴完事!我擦嘞,哥,你要是跟我在一个公司,我觉得第二天见到你的概率可就不大了!
话不多说,说多了你在骂我,我们步入正题,先看一个简单到小学生都认识的表结构
//test id name
我们现在就是要在yii2中对这张数据表批量插入10条数据
我们想要的方式肯定是下面这样的,一条sql多么干脆直接了事
insert into test (name) values ('zhangsan'), ('lisi');
分析都分析完了,好吧,赶紧看看具体实现
//假如 $names = ['zhangsan', 'lisi']; $data = []; foreach ($names $k => $v) { $data[] = [$v]; } Yii::$app->db->createCommand()->batchInsert('test', ['name'], $data)->execute();
我相信很多人都是冲着AR能不能实现批量插入来的,理由无非就是更安全更方便操作呗。但是官方手册貌似没有,没有,没有。。。心都碎了,竟然没有,至少我没有找到,你找到了请点击原文找到我并联系我,我也si分的需要方法啊。
不过不巧的是,我找到一个跟AR相关联的操作方法,我们共同分享参考一下看看具体怎么回事
假设有一个Post类的数组 $models,你就可以这样操作
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();
虽然又回到了batchInsert上,不过没关系,该验证的都验证了,安全是无须担心的。
以上所述是小编给大家介绍的Yii2如何批量添加数据的相关知识,希望对大家有所帮助!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

很多用户们在现代生活中越来越青睐小米智能家居互联的电子生态,那么连接米家APP后,你就可以轻松用手机来控制连接设备,但是很多用户们还不知如何将自己的家居添加米家app中,那么这篇教程攻略就将为大家带来具体连接方法步骤攻略,希望能帮助到各位有需要的小伙伴们。1、下载米家APP后,创建或者登录小米账户。2、添加方法:当全新的设备通电后,将手机靠近设备并打开小米电视,正常情况下会弹出连接提示,选择“确定”即进入设备连接流程。若无提示弹出,也可以手动添加设备,方法是:进入智能家庭APP后,点击左下方第1

在购买电脑的时候,不一定会选择很大的硬盘,这时候如果我们想在win11添加新硬盘,可以先安装购买的新硬盘,然后在电脑里添加分区就可以了。win11添加新硬盘教程:1、首先,我们拆开主机,找到硬盘的插槽。2、找到后,我们先接上“数据线”,一般会有防呆设计,插不进去反个方向即可。3、随后将新的硬盘插入硬盘插槽。4、插入后,将数据线的另一头接到电脑的主板上。5、安装完成后,就可以装回主机,并开机了。6、开机后,我们右键“此电脑”,打开“计算机管理”7、打开后,点击左下角的“磁盘管理”8、随后在右边可以

win10如何批量重命名文件后缀?现在有非常多的用户都在使用Win10系统,而我们在平时使用电脑的过程中,经常会用到很多的快捷键,因为快捷键能让我们的操作更方便,那么要怎么批量重命名文件?下面,小编就为大家介绍下Win10批量重命名文件的操作。Win10批量重命名文件的操作1、全选你想重命名的文件。2、在选中状态的一个文件上点右键,选择重命名。3、一个文件改好新名称后,其他文件依次被序号标记。方法很简单,只不过修改的时候要注意文件排列顺序,以及被修改的样本文件排序位置。序号是从被修改的样本文件开

在win11中,我们可以通过添加桌面快捷方式的方法在桌面上快速启动软件或文件,而且只需要右键需要的文件就可以操作了。win11添加桌面快捷方式:1、打开“此电脑”,找到你想要添加桌面快捷方式的文件或软件。2、找到后,右键选中它,点击“显示更多选项”3、再选择“发送到”-“桌面快捷方式”4、操作完成后,就可以在桌面上找到快捷方式了。

Tampermonkey油猴Chrome扩展是一款用户脚本管理插件,通过脚本提高了用户的效率和浏览体验,那么Tampermonkey怎么添加新脚本?怎么删除脚本呢?下面就让小编给大家解答下吧!Tampermonkey怎么添加新脚本:1、这里拿GreasyFork来举例子,打开GreasyFork网页,输入要按照的脚本,小编这里选择的一键离线下载2、选择一个脚本,进入脚本页面后可以看到安装此脚本的按钮3、点击安装此脚本,来到安装界面。这里点击安装就可以了4、我们可以在以安装的脚本中看到安装好的一键

Vue中如何添加水印到图片中?Vue是一种流行的JavaScript框架,被广泛使用于构建Web应用程序。有时我们需要在Vue应用程序中为图片添加水印,以保护图片的版权或者增加图片的可识别性。在本文中,我将向大家介绍一种在Vue中添加水印到图片的方法,并提供相应的代码示例。第一步,我们需要在Vue中引入一个用于添加水印的第三方库。推荐使用watermarkj

如何添加PolygonMainnet网络要将MATIC(Polygon)与Metamask链接使用,您需要添加一个名为“PolygonMainnet”的专用网络。使用错误的网络地址进行转入会导致出现问题,所以在转出$MATIC之前,请务必使用“PolygonMainnet”网络。Metamask钱包默认连接到以太坊主网,但是我们可以很简单地添加“PolygonMainnet”并使用$MATIC。只需简单的复制和粘贴几个步骤,就能完成。首先,在Metamask钱包中,点击右上角的网络选项,选择“C
![Outlook卡在添加帐户[修复]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
当您在Outlook中添加帐户时遇到问题时,可以尝试以下解决方案来解决。通常这可能是由网络连接故障、用户配置文件损坏或其他暂时性问题引起的。通过本文提供的方法,您可以轻松地解决这些问题,确保您的Outlook能够正常运行。Outlook卡在添加帐户如果您的Outlook在添加帐户时卡住,请使用下面提到的这些修复程序:断开并重新连接互联网临时禁用防病毒软件创建新的Outlook配置文件尝试在安全模式下添加帐户禁用IPv6运行Microsoft支持和恢复助手修复办公室应用程序Outlook添加帐户需
