首页 > 解决方案 > 在没有 group_concat 的 symfony/doctrine/mysql 中连接行

问题描述

我是 symfony/doctrine 的新手,我正在尝试构建一个查询构建器来查看多项选择测验的答案。在数据库中,测验的每个答案都在不同的行中,所以我想在一行中显示一个问题的所有答案。

在我的搜索过程中,所有解决方案都建议在学说中创建 group_concat 函数。但不幸的是,我不允许这样做:(

那么有没有其他方法可以在没有 group_concat 的情况下执行以下操作?

 ====================================
    TABLE NAME : answer

    id       anwser    
    ----------------------------
    1           a       
    1           d       
    1           e       
    2           a       
    2           c       
    2           f       
    3           a       
    3           b      
    3           c      

====================================
TABLE NAME : tab

id          anwser    
----------------------------
1           a,d,e      
2           a,c,f       
3           a,b,c       




$serieQuestions = $this->createQueryBuilder('answer')
                ->select('tab')
                ->groupBy('tab.id')
                ->...

PS:这只是一个例子,真正的查询/数据库要大得多

标签: phpmysqlsymfonydoctrinemariadb

解决方案


group_concat是将行结果汇总到单个列中的唯一函数。你所问的在 SQL 中是不可能的。

您可以让您的应用程序查看行,当问题id相同时,将输出保持在同一行。


推荐阅读