Php 使用表单yii框架为视图创建dropdownlist
我是yii框架中的新手,我想为使用两个 模型 这是我的控制器:Php 使用表单yii框架为视图创建dropdownlist,php,yii,Php,Yii,我是yii框架中的新手,我想为使用两个 模型 这是我的控制器: public function actionMoneyRequest() { // important // farz kardam money request meghdare hesabe fardo etebare uno dare az avval @author Masoud if(isset($_POST['id'])) { $model=UserMoneyrequ
public function actionMoneyRequest()
{
// important
// farz kardam money request meghdare hesabe fardo etebare uno dare az avval @author Masoud
if(isset($_POST['id']))
{
$model=UserMoneyrequest::model()->findByAttributes(array('userid'=>$this->User()->id,'accountnumberid'=>$_post['id']));
if(isset($_POST['UserMoneyrequest']))
{
if($_POST['amount']<=$model->amount)
{
$model->amount=($model->amount-$_POST['amount']);
$model->save();
}
else
{
unset($_POST);
Yii::app()->user->setFlash('message', 'موجودی حساب کافی نمیباشد.');
$this->redirect(array(
'user/moneyrequest'
));
}
}
$this->render('moneyrequest',array(
'model'=>$model));
}
else
{
$accountnumber=UserAccountnumber::model()->findAllByAttributes(array('userid'=>$this->User()->id));
$this->render('moneyrequest',array(
'model'=>$accountnumber
));
}
}
首先,用户必须从下拉列表中选择他的帐号,当他选择所需帐号时,视图将显示所选帐号信息和。。。
这是我的观点:
但我有一个错误:
致命错误:对成员函数的调用在C:\wamp\www\yii\framework\web\helpers\CHtml.php的第1985行的非对象上有错误
为什么我会犯这个错误???
当我在下面一行更改此选项时:
echo$form->dropDownList'useraccountnumber',数组
致:
echo CHtml::dropDownList'useraccountnumber',array$model->attributes
没有错误,但我在下拉列表中看不到模型属性
如何解决这个问题,以及如何使用下拉列表
定义$form?
我知道我有很多错误
感谢大家的帮助此错误与您没有将$model和$accountNumber交替输入有关。在这种情况下,当您需要/使用$model时,您的代码没有设置$accountNumber,反之,当您需要/使用$accountNumber时,您的代码没有设置$model
我认为你应该重新考虑你的逻辑。一个解决方案可以是呈现分离视图,例如:moneyRequest、moneyByAccount,每个都与正确的变量相关…当我编辑控制器并只发送一个模型到视图时,这不是真的,我得到了我现在想要的相同错误如何更改>echo$form->dropDownList'useraccountnumber',array$model->attributes;没有错误
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
'htmlOptions'=>array(
'class'=>'js-validation-login form-horizontal push-30-t push-50',
)
));
// var_dump($model); exit;
// var_dump($_POST); exit;
//$options = array ('12' => 'Twelve', '10' => 'Ten');
echo $form->dropDownList('useraccountnumber','',array($model->attributes));
$this->endWidget();
?>