yii批量插入資料_PHP教程

來源:互聯網
上載者:User

yii批量插入資料


現在有如下資料:

$user=array(0=>array('id'=>1,'name'=>'張三'),0=>array('id'=>2,'name'=>'李四'),);

現在如果需將這兩條資料批量插入到資料表的話,一般大家都會想到用foreach,然後調用 insert 或者 save 方法插入資料。但實際操作卻是在foreach迴圈操作中,insert 只會插入第一條資料,save 卻只會插入第二條資料。這是為什麼呢?解釋如下:

插入一行到基於這個ActiveRecord的屬性工作表。如果表的主鍵是自動增量和插入前為null,將插入後的實際值填充。注意,驗證不執行此方法。你可以調用validate執行驗證。記錄成功插入到資料庫後,它的isNewRecord屬性將設定為false,和它的scenario屬性將設定為 update。

既然如此,那麼除了使用事務該如何?資料的批量插入呢?經實驗總結了如下兩種方法:

第一種方法

$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;}

您可能感興趣的文章

  • Yii framework架構之模組開發分析
  • Yii架構Yiiapp()的理解
  • yii 資料庫添加,修改,刪除相關操作總結
  • yii架構如何配置預設controller與action
  • Yii中的資料庫事務的使用方法小結
  • Yii控制器動作參數綁定處理
  • yii資料庫查詢操作總結
  • yii架構緩衝知識總結

http://www.bkjia.com/PHPjc/1019141.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1019141.htmlTechArticleyii批量插入資料 現在有如下資料: $user=array(0=array('id'=1,'name'='張三'),0=array('id'=2,'name'='李四'),); 現在如果需將這兩條資料批量插入到資料表...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.