【发布时间】:2014-02-05 13:42:32
【问题描述】:
我想通过限制连接实体的数量来减少数据库的负载量。
例如,假设我有一个与 Product 实体具有多对一关系的 Category 实体。然后在摘要页面上,我只想显示每个类别的前 5 个产品。我将如何为此编写 DQL?
我显然可以只调用$category->getProducts() 并只显示前五个,但这感觉很浪费。我不确定 Symfony2 / Doctrine 是否在后台做了一些魔法来改进这一点,但仍然感觉应该有更好的方法来限制加入实体的数量。我也尝试过使用->setMaxResults(),但这对我没有帮助。
【问题讨论】:
-
您可以限制结果行,而不仅仅是加入。如果你想限制加入,你必须使用子查询
标签: php symfony doctrine one-to-many dql