mysql 插入数据问题 请大神指教 [ 2.0 版本 ]
models 下面 index.php
<?php
namespace Api\models;
use Yii;
use yii\db\ActiveRecord;
Index extends ActiveRecord
{
public static function tableName()
{
return '{{%index}}';
}
/**
* 添加消息
*/
public function add($data)
{
$this->setAttributes($data, false);
var_dump($this->save());
if($this->save())
return Yii::$app->db->getLastInsertID();
return false;
}
}
在控制里面操作
$indexDao = new Index();
$indexDao->add(['userId'=>1, 'idType'=>1, 'idVal'=>1, 'createTime'=>1496750748]);
$indexDao->add(['userId'=>2, 'idType'=>2, 'idVal'=>2, 'createTime'=>1496750748]);
同时插入两条数据 但只能第一条成果 第二条 第三条。。。无法插入了呢
把 add 方法改成
public function add($data)
{
return self::getDb()->createCommand()->insert('pao_index', $data)->execute();
}
就可以正常插入多天 啥情况呢?
最佳答案
-
dingjj2010 发布于 2017-06-08 09:06 举报
首先,不能保存的问题楼上已经说了.
其次,如果需要保存多条记录,不建议每次都new 实例化一次..可以直接使用batchinsert,类似Yii::$app->db->createCommand()->batchInsert('user', ['name', 'age'], [ ['Tom', 30], ['Jane', 20], ['Linda', 25], ])->execute();
这样一次插入多条数据.
共 7 条回复
其他 7 个回答
路人甲
注册时间:2015-06-24
最后登录:2017-09-26
在线时长:11小时13分
最后登录:2017-09-26
在线时长:11小时13分
- 粉丝3
- 金钱125
- 威望0
- 积分235