0
我有一张包含用户的表格,每个用户都有一个城市。 我使用ObHighchartsBundle在每个城市,以显示用户数量PieChart只显示一个元素
这是我的代码
$em = $this->getDoctrine()->getManager();
$classes = $em->getRepository('MyBundle:User')->findAll();
$data= array();
$stat=array();
foreach($classes as $class) {
$query = $em->createQuery("SELECT COUNT(u) FROM MyBundle:User u WHERE u.city = ?1");
$query->setParameter(1, $class->getCity());
if (!in_array($class->getCity(), $stat)) {
array_push($stat,$class->getCity(),($query->getSingleScalarResult() *1)/1);
}
}
array_push($data,$stat);
我只得到在一线城市的用户数量,所以看起来像我的foreach
循环不是工作得很好..任何帮助将不胜感激!
我不知道学说如何处理这一点,但它几乎总是一个坏的选择,在一个循环中执行SQL。如果你想得到每个城市的用户数量,你最好用类似的东西: 'SELECT COUNT(*),city FROM User GROUP BY city' – Sebastian