我使用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. 如何在运行规范时更改数据库模式?