我有一个Product对象,它还聚合了一些“对象数组”属性、类别、颜色、大小等。现在我有一个数据库,其中包含针对每个对象的表...... 产品、属性、类别、颜色、大小等。现在我的检索产品列表的查询有 7-8 个连接,因为我的数据库有一些其他表,其中包含产品及其相关实体的多对多关系。
一切皆好。现在,当我从 PDO 检索数据并需要填充我的产品及其所有聚合对象时,问题就来了。我需要制作许多嵌套循环来填充我的 Product 对象数组,这是一项相当繁琐的活动,而且似乎也不是一个好的编程实践(直观地)。
我不想使用任何 ORM,因为我认为 ORM 对于这些连接数量非常低效。
处理这种情况的最佳做法是什么。
非常感谢您的宝贵时间。
编辑:(基于 KIKO Software 评论)
我的大多数产品检索查询的 Where 子句将包含与其聚合实体相关的条件,并且正如我之前所写的,我也有一些多对多关系。所以这意味着即使我进行延迟加载,我也已经在使用数据库资源。那么,在那种情况下,如果我加载结果的一个子集,那么急切加载会是更好的选择吗?如果是这样,我原来的问题还是一样;我不能摆脱太多嵌套循环来加载聚合对象吗?
谢谢