Php Yii插入数据系列

Php Yii插入数据系列,php,mysql,activerecord,yii,yii-cmodel,Php,Mysql,Activerecord,Yii,Yii Cmodel,所以,我得到了一系列需要插入到表中的数据。现在,我使用for循环遍历每个条目,并逐个保存模型。但这似乎不是一个好方法,而且使用事务将是一个问题。有什么更好的方法可以提高性能并使用事务。以下是我目前使用的代码 foreach ($sheetData as $data) { $newRecord = new Main; $newRecord->id = $data['A']; $newRecord->name = $data['B'

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

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

如果可以跳过验证,则可以生成一个简单的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();