在Yii dropDownList中,“类帐户的对象无法转换为字符串”

时间:2013-07-18 20:55:31

标签: yii

同样地,我在数据库,账户和银行中有2个表,在它们之间有一对多关系。 帐户模型中的'banks' => array(self::BELONGS_TO, 'Banks', 'banks_id'),

我需要在帐户创建表单中使用Chtml::dropDownList,因此我会对_form.php进行编辑:

<div class="row">
    <?php echo $form->labelEx($model,'banks_id'); ?>
    <?php echo CHtml::dropDownList($model, 'banks_id', CHtml::listData(Banks::getBanksList(), 'id', 'title','country')); ?>
    <?php echo $form->error($model,'banks_id'); ?>
</div>

并且在Banks模型中开发`getBanksList by:

    public static function getBanksList()
    {
        $userLanguage = Yii::app()->user->getState('lang');
        $result     = array();
        $banks      = self::model()->findAll();

        foreach ($banks as $bank){
            array_push($result, array(
                'id'        =>  $bank->id,
                'title'     =>  ($userLanguage == $bank->default_lang)?$bank->default_name:$bank->en_name,
                'country'   =>  Yii::t('countries',$bank->country),
            ));
        }
        return $result;
    }

但它会引发Object of class Accounts could not be converted to string错误,并且会在

中发生错误
 public static function getIdByName($name)
     {
         return str_replace(array('[]', '][', '[', ']', ' '), array('', '_', '_', '', '_'), $name);
     }

在Chtml.php文件中。这是问题吗?我搜索了很多,但我无法解决问题。

1 个答案:

答案 0 :(得分:0)

我知道我的问题在哪里,我应该使用$form代替Chtml