使用Yii模型创建或更新多个mysql行

Dan*_*ola 1 php mysql frameworks yii

我最近开始和Yii合作,所以请原谅无知:)

我有一个SQL查询返回多行(数组数组),然后我想将这些行插入到DB:

$queryResults = $command->queryAll();
$model=new Campaigns();
foreach ($queryResults as $CActive) {
    $model->setIsNewRecord(true);
    $model->attributes=$CActive;

if($model->save($CActive)) {
    echo "Good!";
}
Run Code Online (Sandbox Code Playgroud)

问题是即使我用新记录设置模型,它也记录了之前的PK(因为它是相同的模型).

我需要为每一行创建一个新模型吗?(似乎不太可能......)

一如既往地谢谢,丹尼

ada*_*ors 6

你必须在每个插入中创建一个新实例,就像这样,否则你只是一遍又一遍地更新一个模型.

$queryResults = $command->queryAll();

foreach ($queryResults as $CActive) {
    $model=new Campaigns;  
    $model->attributes=$CActive;

    if($model->save($CActive))  echo "Good!";
}
Run Code Online (Sandbox Code Playgroud)