Yii dropDownList 中的“Accounts 类对象无法转换为字符串”

问题描述 投票:0回答: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>

也在 Banks 模型中通过以下方式开发 `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文件中。问题出在哪里?我查了很多,但无法解决问题。

php yii
1个回答
0
投票

我明白我的问题出在哪里,我应该使用

$form
而不是
Chtml

© www.soinside.com 2019 - 2024. All rights reserved.