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