刘师傅
- 刘师傅 赞了说说为什么那么多50年代的人小时候吃不饱饭,现在顿顿有肉吃,还是很焦虑呢?
自己堵自己的路嘛你这是。
继承就是原封不动的拿来,子类不写 rules 方法。
所以 rules 是啥还是啥,继承多少代都是如此,规则永不变!name 就是required
。
纯继承想解决问题,是一定不行的。所以,你想“不重写 rules,而是通过继承的方法“之外,还需要其它方面做些改动,那就是:
必须在规则验证前赋值 name,让它符合required
规则就行,这个思路你看可以吗?
那么如何在之前赋值呢?先说说你的beforeSave()
吧:
你把子类的name在beforeSave
里赋值,这个是可以的。但是,时机不对。因为validate()
是在beforeSave()
之前验证的,那时子类的 name 还是为空哦。
那咋办?
换时机啊,在beforeValidate()
不就可以了嘛。
Yii2 的 AR 模型体系里,从赋值到入库留了好多事件,这些事件就是你注入自定义代码的机会。
看看哪个是你可以用的。- 刘师傅 2018-12-20 已签到连续签到4天,获得了20个金钱
- 刘师傅 赞了说说php中有哪些骚操作?
- 刘师傅 2018-12-19 已签到连续签到3天,获得了15个金钱
- 刘师傅 2018-12-18 已签到连续签到2天,获得了10个金钱
- 刘师傅 回答了问题 谷歌浏览器 Nginx 负载均衡无效
如果是缓存的话,你在页面里加上time()时间戳再输出。或者http的响应内容大小有变化也行。
但是,我觉得缓存的原因不大。而是好好理解下weight这个配置
它一定会精确地按照你配置的权重去向后段按照比例派发吗?