希望你们都做得很好。
关于我如何通过CHtml查询将单个数据导入文本字段的问题,我需要您的帮助。
例如我正在使用
<?php echo $form->dropDownList($model,'im_costprice', CHtml::listData(Purchaseorddt::model()->findAll(" pp_purordnum = '$pp_purordnum' "), 'pp_purchasrate', 'pp_purchasrate'), array('id'=>'purchasrate')); ?>
但我希望将单个数据导入textfiled,以便用户可以编辑/更改数据。如:
<?php echo $form->textField($model,'im_costprice', CHtml::Data(Purchaseorddt::model()->findByAttributes(" pp_purordnum = '$pp_purordnum' "), 'pp_purchasrate', 'pp_purchasrate'), array('id'=>'purchasrate')); ?>
显示错误。 致命错误:调用未定义的方法CHtml :: Data() ... 我该如何解决这个问题。请帮我一些想法。
非常感谢帮助。
答案 0 :(得分:1)
只需将Purchaseorddt :: model() - &gt; findByAttributes部分的值存储在单独的变量中,并将该变量替换为CHtml :: Data部分。
编辑 - 这些行上的某些内容可行。请记住,这是在控制器或模型中进行查询的更好方法。
<?php $x = Purchaseorddt::model()->findByAttributes( array('pp_purordnum' => $pp_purordnum));
$y = $x['pp_purchasrate'];
$model->im_costprice = $y;
echo $form->textField($model,'im_costprice',array('id'=>'purchasrate')); ?>
答案 1 :(得分:0)
在您的控制器中,您可以输入类似的代码
$purchaseorddt = Purchaseorddt::model()->findByAttributes("pp_purordnum = '$pp_purordnum'");
然后分配如
if(!empty($purchaseorddt)) {
$model->in_costproce = $purchaseorddt->pp_purchasrate;
}
然后在视图中使用
echo $form->textField($model,'im_costprice', array('id'=>'purchasrate'));
有关cactiveform textField http://www.yiiframework.com/doc/api/1.1/CActiveForm#telField-detail
的更多信息答案 2 :(得分:0)
只需简单地在控制器中调用模型,如下所示:
$data = Purchaseorddt::model->findByPK($pp_purordnum);
$model->costprice=$data->pp_purordnum;
该代码将自动填充textfield中的值