Php 使用表单yii框架为视图创建dropdownlist

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

我是yii框架中的新手,我想为使用两个 模型 这是我的控制器:

  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();


 ?>