如何在Yii2中创建依赖下拉列表?

时间:2017-07-12 11:10:15

标签: database list yii2 dropdown

在这个依赖的下拉列表中,我不会从数据库中读取它,而是从一堆常量值中读取它。

在我的模特中:

   const ASSET_ACCOUNT = 1;
   const LIABILITY_ACCOUNT = 2;
   const FUND_BALANCE_ACCOUNT = 3;
   const CURRENT_ASSETS = 100;
   const PROPERTY_AND_EQUIPMENT = 200;
   const OTHER_ASSETS = 300;
   const CURRENT_LIABILITIES = 400;
   const FUND_BALANCE = 500;

public function getAccountType() {
      return array (self::ASSET_ACCOUNT=>'Asset',self::LIABILITY_ACCOUNT=>'Liabilty',self::FUND_BALANCE_ACCOUNT=>'Fund Balance');
    }

public function getAccountTypeLabel($account_type) {
  if ($account_type==self::ASSET_ACCOUNT) {
    return 'Asset';
    }
  if ($account_type==self::LIABILITY_ACCOUNT) {
    return 'Liabilty';      
    }
  if ($account_type==self::FUND_BALANCE_ACCOUNT) {
    return 'Fund Balance';    
    }
}

在我看来:

<?=
$form->field($model, 'account_type')->dropDownList($model->getAccountType(), 
         ['prompt'=>'- Choose Account Type-']) ?>

<?=
$form->field($model, 'second_type')->dropDownList($model->getSecondType(), 
         ['prompt'=>'- Choose Second Type-']) ?>

所以我要做的是让second_type依赖于account_type下拉列表。他们从常量中读取值,然后将其保存到数据库中。因此,例如,当account_type为ASSET时,second_type下拉列表将列出选项CURRENT ASSETS和PROPERTY AND EQUIPMENT。然后将值100或200保存在数据库中。谢谢你的帮助!

0 个答案:

没有答案