我正在构建一个图表,其中包含从包含城市名称的数据库中获取的信息。目前,我正在计算每个不同城市名称在数据库中出现的次数。
我这样做的方式是:
我在数据库中找到城市名称,并将结果推送到broken
。
然后我继续使用while循环,在每次迭代时创建一个查询构建器,然后运行查询以查找城市出现的次数并将结果推送到$result
,然后推送$count
的值$count
包含其对应的城市名称。
目前数据库中有30个城市,这意味着每次加载页面时我都会运行30个查询,而且这个数量只会越来越高,有人能指出我正确的方向如何减少这个过程,我很确定可以在找到$result
的同时找到每个城市的数量,但我不确定我是如何在网上找到任何东西的。
$result
答案 0 :(得分:1)
这可以帮助您...使用 groupBy 对城市进行分组,然后计算实例。
$qb = $entityManager->createQueryBuilder();
$qb->select('accident.city','count(accident.city)')
->from('VisDatasetBundle:Accident','accident')
->groupBy('accident.city');