我正试图将一些代码移到Symfony中,但由于某种原因,有些代码不起作用,我无法找出原因。我已经分解了我的功能,这样我就可以识别问题,实际上我已经把它带到了一开始。
所以我有
public function getAvailabilityData(){
$alerts = $this->em->getRepository('NickAlertBundle:AvailabilityAlert')->getActiveAlertIds();
$alertsArray = array();
if (!$alerts) {
throw $this->createNotFoundException('Unable to find Availability.');
}
foreach($alerts as $alert){
$alertId = (int)$alert['id'];
var_dump($alertId);
$alertsArray[$alertId] = array();
}
var_dump($alertsArray);
return $alertsArray;
}
现在我知道我的数据库中有两个警报,当我var_dump$alertId 时,这一点会进一步显示
int(1)int(2)
所以这些id应该是我数组的第一个元素,这就是我所做的。但在我输出数组的末尾的var_dump中,我得到了一个空数组
array(2) {
[1]=> array(0) { }
[2]=> array(0) { }
}
为什么会这样?
感谢
您显式地将空数组设置为值
foreach($alerts as $alert){
$alertId = (int)$alert['id'];
var_dump($alertId);
$alertsArray[$alertId] = array();
}
听起来像你想要的东西
foreach($alerts as $alert){
$alertId = (int)$alert['id'];
var_dump($alertId);
$alertsArray[$alertId] = $alertId;
}