将模型保存在循环中yii

时间:2012-12-05 12:14:23

标签: arrays yii models saving-data

我需要用逗号分隔几次来保存字段值。我正在获取值,但我需要在循环中将每个值存储在模型中。

$subModel->name = $_POST['Model']['keywords'];
$keyword = explode(",", $subModel->name);    
for ($i=0; $i<=sizeof($keyword)-1; $i++)
{
    //echo $keyword[$i]."<br/>";
    $subModel->name = $keyword[$i];
    $subModel->save();
}

它只存储最后一个值,任何人都可以告诉我如何在循环子模型中为每个值多次存储到我的模型中。

由于

1 个答案:

答案 0 :(得分:8)

您需要在每次迭代中设置$subModel->isNewRecord = true,并且还要取消设置(或手动设置为您选择的值)模型的id字段。它看起来像这样:

for ($i=0; $i<=sizeof($keyword)-1; $i++)
{
    // if $subModel->name is not the primary key for that model, unset the PK here:
    // $subModel->id = null
    $subModel->name = $keyword[$i];
    $subModel->isNewRecord = true;
    $subModel->save();
}