使用formyii框架为视图创建dropdownlist


create dropdownlist for a view using form yii framework

在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
        ));
    }
}

首先,用户必须从下拉列表中选择他的帐号,当他选择他想要的帐号时,视图显示所选的帐号信息和
这是我的观点:

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

 ?>

但我得到了这个错误:

致命错误:在C:''wamp''www''yii''framework''web''helpers''CHtml.php中的非对象上调用成员函数hasErrors()

为什么我会犯这个错误
当我更改以下行时:

echo$form->dropDownList('useraccountnumber','',array());

至:

echo CHtml::dropDownList('useraccountnumber','',数组($model->attributes));

没有错误,但我在下拉列表中看不到模型属性如何解决这个问题,以及如何使用下拉列表定义$form
我知道我有很多错误
感谢大家的帮助

错误与您没有将$model和$accountNumber交替使用有关。在这种情况下,当你需要/使用$model时,你的代码没有设置$accountNumber,相反,当你想要/使用$accountNumber时,你没有设置$model。

我认为你应该重新思考你的逻辑。解决方案可以是呈现单独的视图(例如:moneyRequest、moneyByAccount),每个视图都与正确的变量相关。。。