带有多个表的 Symfony sfDoctrinePager
Posted
技术标签:
【中文标题】带有多个表的 Symfony sfDoctrinePager【英文标题】:Symfony sfDoctrinePager with multiple tables 【发布时间】:2010-03-02 10:11:04 【问题描述】:我想知道如何让它运行。在我的应用程序中,我有一个类别表和产品表。我需要一个寻呼机,它结合了类别和产品以显示在一个列表中(第一个类别然后是产品)。有没有办法让这件事发生?我尝试左加入寻呼机的查询,但似乎没有成功。
【问题讨论】:
我们可以看一下代码吗?控制器、视图和任何相关的东西。还有模式。如果你不介意,我更喜欢gist.github.com 好的,这就是交易... pastebin.com/TyUQUVMt 我已经在下面写了详细信息 【参考方案1】:如果您可以编写一个原则查询来返回您想要的完整列表,那么寻呼机将对其进行分页。
如果没有架构,您不确定如何编写这样的查询,甚至无法 100% 确定您想要做什么。但是,如果您尝试列出具有相关类别信息的产品,那么您将需要一个联接,否则如果您想要一个类别和产品的混合列表,您可能需要一个 UNION 查询。
如果您发布架构和有关您正在做什么的更多信息,可以尝试帮助您。
【讨论】:
好吧,这就是交易...pastebin.com/TyUQUVMt 如果我转到一个类别页面,我希望一个寻呼机显示: - 所选类别的子类别(第一个) - 所选类别的产品(然后)全部在一个寻呼机中。基本上,两个表的结果放在一个寻呼机中,子类别在结果中排在第一位。 我会先写一个可以做到这一点的学说查询,或者一个 sql 查询。您可能需要查看联合,这可能有点棘手,因为不确定学说是否可以处理一个返回两种类型对象的查询,也许水合作为数组会起作用【参考方案2】:我为解决这个问题所做的是编写自己的寻呼机,它扩展了 sfDoctrinePager 和创建的方法,这些方法在 2 个查询的数组中给出结果。不得不做一些额外的写作,但工作正常。
【讨论】:
以上是关于带有多个表的 Symfony sfDoctrinePager的主要内容,如果未能解决你的问题,请参考以下文章
带有条件的 Symfony 请求(And Where,OrWhere)
带有 FOSUserBundle 的 Symfony2 - 如何向我的应用程序添加没有层次结构的角色
Symfony Query Builder 如何获取最后分组的记录