Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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 如何在更新控制器中加载多个模型_Php_Yii - Fatal编程技术网

Php 如何在更新控制器中加载多个模型

Php 如何在更新控制器中加载多个模型,php,yii,Php,Yii,在_form.php文件中,我有两个不同模型的文本框,我对create控制器进行了更改,以插入两个模型的记录,但问题在于updatecontroller,如何将第二个模型的数据加载到第二个模型的文本框中 只会填充与第一个模型相关的文本框。只需将两个模型渲染到控制器中的更新视图即可 $this->render('update', array( 'model1' => $model1, 'model2' => $model2, )); 在\u form.php中,

在_form.php文件中,我有两个不同模型的文本框,我对
create
控制器进行了更改,以插入两个模型的记录,但问题在于
update
controller,如何将第二个模型的数据加载到第二个模型的文本框中

只会填充与第一个模型相关的文本框。

只需将两个模型渲染到控制器中的
更新
视图即可

$this->render('update', array(
    'model1' => $model1,
    'model2' => $model2,
));
\u form.php
中,像这样调用文本框

<?php echo $form->labelEx($model1, ‘data1’); ?>
<?php echo $form->textField($model1, ‘data1’, array(‘size’ => 60, ‘maxlength’ => 250)); ?>

<?php echo $form->labelEx($model2, ‘data2’); ?>
<?php echo $form->textField($model2, ‘data2’, array(‘size’ => 60, ‘maxlength’ => 250)); ?>

希望这有帮助

编辑


由于您可能在
create
视图中使用相同的_form.php页面,因此您需要创建另一个_form.php文件,比如\u formUpdate.php[复制_form.php]页面并从您的update.php调用render _formUpdate.php而不是_form.php,并进行上述更改

只需将两个模型渲染到控制器中的
update
视图

$this->render('update', array(
    'model1' => $model1,
    'model2' => $model2,
));
\u form.php
中,像这样调用文本框

<?php echo $form->labelEx($model1, ‘data1’); ?>
<?php echo $form->textField($model1, ‘data1’, array(‘size’ => 60, ‘maxlength’ => 250)); ?>

<?php echo $form->labelEx($model2, ‘data2’); ?>
<?php echo $form->textField($model2, ‘data2’, array(‘size’ => 60, ‘maxlength’ => 250)); ?>

希望这有帮助

编辑

由于您可能在
create
视图中使用相同的_form.php页面,因此需要创建另一个_form.php文件,比如\u formUpdate.php[u form.php]页面的副本,并从update.php调用render _formUpdate.php,而不是_form.php,并进行上述更改

\u form

    <div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'tabel1-form',
    'enableAjaxValidation'=>false,
)); ?>

    <p class="note">Fields with <span class="required">*</span> are required.</p>

    <?php echo $form->errorSummary($model); ?>

    <div class="row">
        <?php echo $form->labelEx($model,'name'); ?>
        <?php echo $form->textField($model,'name',array('size'=>44,'maxlength'=>44)); ?>
        <?php echo $form->error($model,'name'); ?>
    </div>
    <div class="row">
        <?php echo $form->labelEx(Table2::model(),'address'); ?>
        <?php echo $form->textField(Table2::model(),'address',array('size'=>44,'maxlength'=>44)); ?>
        <?php echo $form->error(Table2::model(),'address'); ?>
    </div>

    <div class="row buttons">
        <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
    </div>

<?php $this->endWidget(); ?>

</div><!-- form -->
_形式


你想做什么来解决这个问题?请出示你的密码。也许这会有帮助:那么你会怎么解决这个问题呢?请出示你的密码。这可能会有帮助:我尝试使用Zzzalani建议的内容,但数据未填入文本框请检查我的评论我尝试使用Zzzalani建议的内容,但数据未填入文本框请检查我的评论我尝试使用上述建议,但数据未填入地址文本框很高兴知道这一点。:)如果它真的有效,请将其标记为答案,谢谢如果您清楚地检查我在_form.php
中显示表2所做的工作,我尝试使用上述建议,但数据未填写在地址文本框中(很高兴知道这一点。)如果它真的有效,请将其标记为答案,谢谢如果您清楚地检查我在_form.php