所以,我得到了一系列需要插入表格的数据。现在我使用for循环迭代每个条目并逐个保存模型。但这似乎不是一个好方法,而且使用交易将是一个问题。有什么更好的方法来提高性能,所以我可以使用transaction.Here是我目前使用的代码。
foreach ($sheetData as $data)
{
$newRecord = new Main;
$newRecord->id = $data['A'];
$newRecord->name = $data['B'];
$newRecord->unit = $data['C'];
$newRecord->save();
}
答案 0 :(得分: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();