经过几次将可容忍行为添加到我的各种模型类后,我有一个很好的想法,只需将该行代入AppModel,从而使每个模型都可以包含。这就让我想知道,有没有什么情况下,某种特定的模型具有可控行为是不可取的或者适得其反的呢?何时不在CakePhp 2.x中使用可容忍的行为
4
A
回答
6
我会说太少不用担心。我在应用模型把中可容纳:
class AppModel extends Model {
public $recursive = -1;
public $actsAs = array('Containable');
}
递归中容纳覆盖,所以你并不真的需要设置递归为-1,但我只是为了清楚起见做。始终使用可控制的力量,使您始终只使用自己想要/需要的最佳做法。对于小应用程序来说,使用递归和忽略可容忍并不是世界末日,但它仍然不是最佳实践。
所以,我猜想使用递归而不是包含的唯一参数是在小应用程序中,您可以节省自己很少的开发时间,并且不会明显影响性能。我肯定会使用默认情况下使用容易,并删除它认为它是过度杀伤,而不是其他方式。
4
可封闭可能是危险的B/C为了获得嵌套结果,Cake以非常低效的方式运行。
这个网站解释得很好...
http://www.endyourif.com/cakephp-containable-statement-pitfalls/
但基本上你是找回了不错的数组是许多不同的查询结果,而你的最佳性能可能来自使用单个查询与联接。
但是,包容性的便利性无可否认。
相关问题
- 1. CakePHP:使用多级可容忍行为
- 2. cakephp奇怪的可容忍的行为
- 3. CakePHP 2.1.1。可容忍的行为不起作用
- 4. CakePHP的2.X:在saveField()使用变量
- 5. 的CakePHP和中可容纳的行为
- 6. 我如何实现使用可容忍行为的第三级搜索
- 7. cakephp 2.X换行符不工作
- 8. 如何使用cakephp 3.x中的“不在之间”3.x
- 9. CakePHP 2.x Acl
- 10. 使用FormHelper将CakePHP 2.x中的日期保存为空
- 11. CakePHP 2.x主题不起作用
- 12. CakePHP 2.x翻译行为不保存到国际化表
- 13. ACL允许在CakePHP 2.x中不起作用的动作
- 14. CakePHP 2.x使用minYear/maxYear参数
- 15. 当用户在CakePHP 2.x中登录时使用Bootstrap的Modal插件
- 16. 使TreeMap Comparator容忍null
- 17. CakePHP的2.X禁用/启用语法
- 18. 如何在CakePHP中创建中可容纳的行为在虚拟场2.6
- 19. 为CakePHP 2.x安装Uploader插件
- 20. CakePHP 2.x会话在本地开发和生产之间行为不一致
- 21. 我可以在CakePHP的行为中使用特定模型吗?
- 22. cakephp 2.x在javascript中执行控制器
- 23. 查找CakePHP的条件与中可容纳的行为
- 24. cakePHP 2.x重定向
- 25. Cakephp 2.x多重关系
- 26. 使用CakePHP 2.x列出文件夹和子文件夹的内容
- 27. cakephp 3.x 2.x型号适配器
- 28. 如何使运行在x:00 x:15 x:30和x:45的线程在2:00执行不同的操作
- 29. CakePHP的中容纳为了不工作
- 30. 在cakephp 2.x中如何使用连接表获取第三个表数据?
好吧,在阅读您链接的文章后,我特别注意到一个声明: **“在做了一些研究之后,显然CakePHP在1.2.x中不会解决这个问题。谣言说它将在第2版中得到解决,但我会非常兴奋。“** 现在,问题是我到底能够在官方源代码中阅读这些内容?因为,我怀疑它(关注)仍然存在。看起来很蹩脚的是执行100个'选择'而不是简单的'JOIN'。顺便说一句,参考2.x文档和3.x文档将是很好的。 – Fr0zenFyr 2015-09-14 06:20:30