經過幾次將可容忍行爲添加到我的各種模型類後,我有一個很好的想法,只需將該行代入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奇怪的可容忍的行爲
- 4. CakePHP 2.1.1。可容忍的行爲不起作用
- 5. CakePHP可容忍的行爲限制中級模型
- 6. 在CakePHP 2.x應用程序中使用guzzle和CakePHP 2.x
- 7. 使用中可容納的行爲在CakePHP 2.2.4
- 8. CakePHP的2.X:在saveField()使用變量
- 9. 的CakePHP和中可容納的行爲
- 10. CakePHP 2.x - jQuery EasyUI - 如何將jQuery EasyUI放入CakePHP 2.x中?
- 11. 我如何實現使用可容忍行爲的第三級搜索
- 12. 如何在as3中獲得對mouseOver行爲的容忍度?
- 13. cakephp 2.X換行符不工作
- 14. 使CakePHP 2.x中的所有控制器都可用變量
- 15. 在CakePHP的2.x的
- 16. CakePHP的2.x的
- 17. 如何使用cakephp 3.x中的「不在之間」3.x
- 18. CakePHP 2.x Acl
- 19. Cakephp 2.x REST
- 20. 使用FormHelper將CakePHP 2.x中的日期保存爲空
- 21. CakePHP 2.x:加載SoftDelete行爲時獲取空白頁面
- 22. 如何在幫助程序中使用模型 - CakePHP 2.x
- 23. 如何在CakePHP 2.x中使用條件CSS?
- 24. CakePHP的2.X如何在彈出
- 25. CakePHP 2.x主題不起作用
- 26. 圖片不顯示在cakePHP 2.x
- 27. CakePHP 2.x翻譯行爲不保存到國際化表
- 28. CakePHP的查找行爲中可容納不工作
- 29. ACL允許在CakePHP 2.x中不起作用的動作
- 30. 如何使用cakephp 2.x中的authcomp更新上次登錄
好吧,在閱讀您鏈接的文章後,我特別注意到一個聲明: **「在做了一些研究之後,顯然CakePHP在1.2.x中不會解決這個問題。謠言說它將在第2版中得到解決,但我會非常興奮。「** 現在,問題是我到底能夠在官方源代碼中閱讀這些內容?因爲,我懷疑它(關注)仍然存在。看起來很蹩腳的是執行100個'選擇'而不是簡單的'JOIN'。順便說一句,參考2.x文檔和3.x文檔將是很好的。 – Fr0zenFyr 2015-09-14 06:20:30