首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
hbhe
›
全部回复第 1 页 / 共 1 页
回复总数
1
2019-09-10 09:14:54 +08:00
回复了
894021573
创建的主题
›
PHP
›
请教 Yii2 框架 afterSave 的推荐使用方式
这个问题很好,我也一直在思考,一般情况下,我会选第 2 种。
1. 如果 a.save()的时候,必然导致 b.save(),那么就说明这段逻辑关系是固定的,放在 afterSave()中可以被更多的地方复用。
2. 采用 2 时, 在 a.save()时,b,c 会依次 save()或者说依次向上冒泡,向上冒泡的过程要避免再次执行上级的 save(),以免形成递归震荡, 可使用 updateAttributes()来避免。冒泡一般是从底往上冒,什么是底? 一对多时,多的那方的 model 是底,一对一时视业务而定。
3. 一层只管一层,如 a 只管 b, b 只管 c;
4. Model 负责逻辑中心; 而 afterSave()是中心中的中心,应高度重视。后半句个人之见。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2512 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms ·
UTC 16:00
·
PVG 00:00
·
LAX 08:00
·
JFK 11:00
Developed with
CodeLauncher
♥ Do have faith in what you're doing.