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