Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii-更改输入名称格式并更新_Php_Yii - Fatal编程技术网

Php yii-更改输入名称格式并更新

Php yii-更改输入名称格式并更新,php,yii,Php,Yii,嗨,我是yii的新手,当我申请练习(RPG的角色生成器)时,遇到了更新表单问题的问题。我需要更新一个具有复合PK的表。到目前为止,我可以使用我的表单在两个表上创建。但是我无法加载更新代码。我的代码如下: public function actionUpdate($id) { $model = $this->loadModel($id); $magicDiffModel = array(); $m = Difficulty::getDifficultyListByTy

嗨,我是yii的新手,当我申请练习(RPG的角色生成器)时,遇到了更新表单问题的问题。我需要更新一个具有复合PK的表。到目前为止,我可以使用我的表单在两个表上创建。但是我无法加载更新代码。我的代码如下:

public function actionUpdate($id) {
    $model = $this->loadModel($id);
    $magicDiffModel = array();
    $m = Difficulty::getDifficultyListByType(Difficulty::magicDifficulty);
    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);
    if(!isset($_POST['MagicDifficulty']) && $id != ''){
        foreach ($m as $diff => $v) {
            $magicDiffModel[$diff] = MagicDifficulty::model()->findAllByPk(array('magic_id' => $id,'difficulty'=>$diff));
        }
    }else{

    }
    if (isset($_POST['Magic'])) {
        $model->attributes = $_POST['Magic'];
        if ($model->save())
            $this->redirect(array('view', 'id' => $model->id));
    }

    $this->render('update', array(
        'model' => $model,
        'magicDiffModel' => $magicDiffModel,
        'm' => $m,
    ));
}

这是埃文吗。
注意:我理解错误,但想不出解决方案。

activeTextField
接受作为传递集合(数组)的第一个参数的CModel实例。 所以正确的代码应该是:

<tr>
    <td>Zeon</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'zeon'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Int B.</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'base_int'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Mantenimiento</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'manteinance'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Descripción</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'description'); ?></td>
    <?php } ?>
</tr>

吉恩
INTB。
曼特尼米恩托
描述

这不会破坏控制器中的创建和更新代码吗?仍然感谢您的帮助,我解决了问题。我最后做的是
get_class() expects parameter 1 to be object, array given

/srv/http/animaGen/framework/web/helpers/CHtml.php(2117): get_class(array(1 => array(MagicDifficulty), 2 => array(MagicDifficulty), 3 => array(MagicDifficulty), 4 => array(MagicDifficulty)))              
return get_class($model).$sub.'['.$attribute.']';
<tr>
    <td>Zeon</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'zeon'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Int B.</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'base_int'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Mantenimiento</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'manteinance'); ?></td>
    <?php } ?>
</tr>
<tr>
    <td>Descripción</td>
    <?php foreach ($m as $id => $name) { ?>
    <td><?php echo CHtml::activeTextField($magicDiffModel[$id], 'description'); ?></td>
    <?php } ?>
</tr>