在这个依赖的下拉列表中,我不会从数据库中读取它,而是从一堆常量值中读取它。
在我的模特中:
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保存在数据库中。谢谢你的帮助!