gpt4 book ai didi

mysql - Symfony 2 + Doctrine |实体必须具有所有标签

转载 作者:行者123 更新时间:2023-11-30 23:00:27 25 4
gpt4 key购买 nike

我正在使用 Symfony 2 和 doctrine。我有 4 个实体,CustomPage、Tag、CustomPageTag、Comment。

每个 CustomPage 都可以有很多标签和很多评论。我想选择一个具有一些特定标签的自定义页面(包含所有评论)。

示例:我想选择带有“tag1”和“tag2”的自定义页面

我这样做了,

SELECT CUSTOMPAGE, TAG, CUSTOMPAGE_TAG, COMMENT
FROM CustomBundle:CustomPage CUSTOMPAGE
JOIN CUSTOMPAGE.comments COMMENT
JOIN CUSTOMPAGE.tags CUSTOMPAGE_TAG
JOIN CUSTOMPAGE_TAG.tag TAG
WHERE TAG.name IN ('tag1','tag2')
GROUP BY CUSTOMPAGE.id
HAVING COUNT(DISTINCT CUSTOMPAGE_TAG.name) = 2

它运行良好,但问题是它只返回一条评论(我想要所有评论)。

最佳答案

因为使用了 group by,你只得到一个评论,而不是使用两个 join。

试试这个:

SELECT CUSTOMPAGE, TAG1, CUSTOMPAGE_TAG, COMMENT
FROM CustomBundle:CustomPage CUSTOMPAGE
JOIN CUSTOMPAGE.comments COMMENT
JOIN CUSTOMPAGE.tags CUSTOMPAGE_TAG
JOIN CUSTOMPAGE_TAG.tag TAG1
JOIN CUSTOMPAGE_TAG.tag TAG2
WHERE TAG1.name= 'tag1'
AND TAG2.name= 'tag2'

关于mysql - Symfony 2 + Doctrine |实体必须具有所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com