gpt4 book ai didi

mysql - Doctrine 2 : How to sort by count of an associated entity?

转载 作者:行者123 更新时间:2023-11-29 01:32:14 25 4
gpt4 key购买 nike

如果我有一个公司实体,与用户实体存在一对多关联,我如何才能获得按用户数量排序的公司实体列表?

最佳答案

这是我的解决方案,但它可能不是最好的方法:

SELECT 
c, COUNT(u.id) as num_users
FROM
Acme\Model\Company c
LEFT JOIN c.users u
GROUP BY
c.id
ORDER BY
num_users DESC

对结果进行水合后,你会得到一个类似这样的数组:

array(
array(
0 => /* entity instance */,
'num_users' => 123
),
array(
0 => /* entity instance */,
'num_users' => 111
),
// ...
)

所以你必须过滤结果:

 return array_map(
function ($result) { return $result[0]; },
$results
);

就是这样!

也许您可以避免过滤部分调整水合部分。

关于mysql - Doctrine 2 : How to sort by count of an associated entity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8512713/

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