Yii2 是不是没法对 rules 和 attributeLabels 进行继承? [ 2.0 版本 ]
比如我在 common/models 这个目录下有个 Operation 模型,然后在 backend/models/form 目录下有adForm、bannerForm继承了 Operation,其中 ad、banner 共有的属性都放在 Operation,也就是rules 和 attributeLabels 里面,adForm、bannerForm 只是放他们各自有的属性,可是发现使用adForm 没法把 Operation 中的 rules 属性继承过来,好像是 adForm 里面的 rules 会覆盖掉Operation,而不是对 rules 进行追加,要怎么弄,才能是的两个文档的 rule 都拼起来,不用把Operation 里面的共有属性 rules 要重复写?
最佳答案
-

rules() 和 attributeLabels() 返回的都是数组,在子类内调用
parent::rules()或parent::attributeLabels()可获取,之后自行组装即可,下面是自定义 attributeLabels() 的例子:// adForm.php use yii\helpers\ArrayHelper; public function attributeLabels() { // parent::attributeLabels() 内含有 Operation 内的属性标签 return ArrayHelper::merge(parent::attributeLabels(), [ // 这里放置 adForm 内的属性标签 'status' => '状态', ]); }共 3 条回复
其他 0 个回答
没有找到数据。
clao
注册时间:2018-08-03
最后登录:2022-01-25
在线时长:9小时19分
最后登录:2022-01-25
在线时长:9小时19分
- 粉丝1
- 金钱80
- 威望20
- 积分370