带有多个表的 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 - 如何向我的应用程序添加没有层次结构的角色

带有“exists”子句和多个表的 SQL 子查询

Symfony Query Builder 如何获取最后分组的记录

从包含 ACCESS 2013 中的多个表的表单中查找带有组合框的记录

SQLSTATE[HY000]:在 symfony 中创建表的一般错误