我使用sfPropelORMPlugin。 如果我對每個網頁上的一個對象進行操作,則Lazyload是可以的。但是,如果有數百個我會得到數百個單獨的數據庫查詢。我想完全禁用lazyload,或者在那些特別重的頁面上禁用它,以便找到需要的列,但目前還找不到方法。如何在運行時更改Symfony中的模型lazyloadness?
1
A
回答
0
添加實用程序方法,以便能夠設置我想要加載的列。對這種類型的數據庫查詢使用「僞列」。我也重寫了水合物()來理解這個「標記」。一切都很好,直到我發現即使數據已經水化,symfony也不會理解它,並且不會讓你按預期使用它。
PS連接從未被認爲是一種選擇,因爲網站是一種高負載。
1
你應該在你建立你的查詢時與你所有的關係join
,這樣你就可以在一個查詢中獲得所有數據。請注意,您必須使用joinWithRelation()
,其中Relation
是一個相關的表名稱。
0
在William Durand的回答中詳細說明,也許你還應該看看Propel函數doSelectjoinAll(),它應該預加載所有與你的關係相關的對象。請記住,這可能是昂貴的,因爲它涉及到內存。
另一種技術是創建一個自定義標準與您需要的連接,然後使用手動水合技術添加到您的基礎對象。我經常這樣做,當我需要的數據是使用聚合或其他列沒有完全映射到對象。有大量的水合物()例子。
相關問題
- 1. 在運行時更改3D模型
- 2. Symfony 3 - 如何在運行時更改配置值
- 3. 如何在運行時更改UINaviagationBar中的UIBarButtonItem類型?
- 4. 在運行時更改類的類型
- 5. 如何更改symfony中sfWidgetFormSelectRadio的行爲?
- 6. 在運行時修改導軌模型
- 7. 更改symfony插件的模型
- 8. 我可以更改報表模型的datsource在運行時
- 9. 無法更改模型塊中運行時參數的尺寸
- 10. 在運行時更改元素類型
- 11. 在運行時更改變量類型
- 12. 如何在運行時更改QSqlQueryModel的子類的數據模型?
- 13. 在運行時如何在運行時更改屬性值
- 14. Ember js如何在模型更改後運行函數?
- 15. 當從github部署更改的模型時,如何在heroku上運行makemigrations/migrate?
- 16. 如何在運行時更改模板元素的綁定?
- 17. 如何在運行時以SQLServer模式更改sessionState的sqlConnectionString?
- 18. GWT如何在運行時更改css
- 19. 如何在運行時更改persistence.xml
- 20. 如何在運行時更改圖標
- 21. 如何在運行時更改sql_mode
- 22. 如何在運行時更改log4j appender?
- 23. 如何在運行時更改語言
- 24. WPF:如何在運行時更改CurrentUICulture
- 25. 如何在運行時更改iframe src?
- 26. 如何在運行時更改
- 27. 如何在運行時更改視圖
- 28. 更改EF模型並在運行時創建新實體
- 29. 模型在運行時在
- 30. 如何在運行規範時更改數據庫模式?