yii批量插入的方法

PHPABC PHP开发 1,224 次浏览 , 没有评论

在开发中遇到过这样问题,foreach循环插入数据时,表中只插入了循环的最后一条数据,而其它数据没有真实添加,追踪发现,内存地址中循环时新一条数据会覆盖前一条数据,解决办法是另起一个对象;

如下:

第一种方法

$model = new User();
foreach($data as $attributes)
{
     $_model = clone $model; //克隆对象
     $_model->setAttributes($attributes);
     $_model->save();
}

第二种方法

$model = new User();
foreach($data as $attributes)
{
      $model->isNewRecord = true;
      $model->setAttributes($attributes);
      $model->save() && $model->id=0;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go