1

同样,我在数据库、帐户和银行中有 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>

并且还在银行模型中通过以下方式开发`getBanksList:

    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 文件中。问题出在哪里?我搜索了很多,但我无法解决问题。

4

1 回答 1

0

我明白我的问题出在哪里,我应该使用$form而不是Chtml.

于 2013-07-18T21:00:43.587 回答