gpt4 book ai didi

php - 如何在 Doctrine2 (Symfony2) 中按案例排序

转载 作者:IT老高 更新时间:2023-10-28 23:48:24 25 4
gpt4 key购买 nike

我想在 Symfony 2.3 中使用 Doctrine 来运行这个查询。但似乎 Doctrine 不理解 CASE 声明。任何人都可以帮忙吗?提前谢谢!

SELECT max(id) id, name
FROM cards
WHERE name like '%John%'
GROUP BY name
ORDER BY CASE WHEN name like 'John %' THEN 0
WHEN name like 'John%' THEN 1
WHEN name like '% John%' THEN 2
ELSE 3
END, name

最佳答案

如果你正在使用 createQueryBuilder 那么你可以使用 like

$query->addSelect("(CASE WHEN name like 'John %' THEN 0           WHEN name like 'John%' THEN 1           WHEN name like '% John%' THEN 2           ELSE 3 END) AS HIDDEN ORD ");$query->orderBy('ORD', 'DESC');

请注意,您必须具有“HIDDEN”。

您也可以使用 doctrine native 查询。

关于php - 如何在 Doctrine2 (Symfony2) 中按案例排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20488863/

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