Yii2使用javascript的同一模型的多个实例

时间:2016-07-01 06:46:03

标签: javascript php model yii2

我正在尝试使用javascript append来使用相同模型的多个实例。但是,我不知道该怎么做。因此,我创建了以下代码。

的javascript

var div_input = $('#input');
div_input.append('<input type="hidden" name="'+c+'_round" value="'+c+'" />');

变量“c”是递增的运行数。例如,我第一次追加名称将是“1_round”。第二次将是“2_round”,依此类推。

控制器

 $loop = true;
    $i = 0;
    do{
        $i++;
        if (!empty($_POST[$i . "_round"]))
        {
            $round = $_POST[$i . "_round"];
            $model->model_round= $round;
            $model->save();
        }else{
            $loop = false;
        }
    }while($loop);

这里的问题是它总是只保存最后一个数据循环而不是每个数据循环。请帮我解决一下这个。 Yii2新手。谢谢!

2 个答案:

答案 0 :(得分:0)

每次循环

时,您必须初始化 $saved_array = []; $loop = true; $i = 0; do{ $i++; if (!empty($_POST[$i . "_round"])) { $model = new model(); $round = $_POST[$i . "_round"]; $model->model_round= $round; if($model->save()) { $saved_array[$model->id] = True; } else { $saved_array[$model->id] = $model->getErrors(); } unset ($model); }else{ $loop = false; } }while($loop); 的新实例

$saved_array

如果未保存模型,您可以最终分析是否保存模型{{1}}

答案 1 :(得分:0)

为什么不使用输入名称作为数组

<input name="round[]">

然后循环播放

$round = $_POST['round'];
foreach( $round as $key => $n ) {
// code here
}