【问题标题】:Yii insert series of dataYii插入系列数据
【发布时间】:2013-09-28 19:16:28
【问题描述】:

所以,我得到了一系列需要插入到表中的数据。现在我正在使用一个 for 循环来遍历每个条目并一个一个地保存模型。但这似乎不是一个好方法,而且使用事务将是一个问题。有什么更好的方法来提高性能并且我可以使用事务。这是我目前正在使用的代码。

foreach ($sheetData as $data)
    {
        $newRecord = new Main;
        $newRecord->id = $data['A'];
        $newRecord->name = $data['B'];
        $newRecord->unit = $data['C'];
        $newRecord->save();
    }

【问题讨论】:

    标签: php mysql activerecord yii yii-cmodel


    【解决方案1】:

    如果您可以跳过验证,您可以生成一个简单的 sql 插入并执行一次。喜欢:

    $count = 0;
    $sql = '';
    foreach ($sheetData as $data)
    {
        if(!$count)
           $sql .= 'INSERT INTO tbl_main (id ,name ,unit) Values ('.$data['A'].','$data['B']','$data['C']') ';
        else
           $sql .= ' , ('.$data['A'].','$data['B']','$data['C']')';
        $count++;
    }
    
    Yii::app()->db->createCommand($sql)->execute();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多