1

私は最近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!";
}

問題は、新しいレコードでモデルを設定している場合でも、以前のPKのレコードが含まれていることです(同じモデルであるため)。

行ごとに新しいモデルを作成する必要がありますか?(可能性は低いようです...)

いつもありがとう、ダニー

4

2 に答える 2

6

このように、挿入のたびに新しいインスタンスを作成する必要があります。そうしないと、1つのモデルを何度も更新するだけです。

$queryResults = $command->queryAll();

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

    if($model->save($CActive))  echo "Good!";
}
于 2012-06-05T07:18:46.287 に答える
-1

これを試して..

 $queryResults = $command->queryAll();

         foreach ($queryResults as $CActive) {

            $model=new Campaigns;  

            $model->attributes=$CActive;

            if($model->save($CActive)) {
    echo "Good!";
}

さて、あなたはすべての行のインスタンスを作成する必要があります..そのYiiコア要件..}

于 2012-06-05T07:37:53.823 に答える