我从Symfony 1.4中的数据库中获取数据.
问题是我无法使用foreach循环和print_r()在Success页面中访问该数组.
错误是
Warning: Invalid argument supplied for foreach().
但是当我在执行Query之后在Action页面中做同样的事情时,我能够使用foreach()和print_r($result)来获取数据.
为什么我无法在成功页面中获取该数组?
我正在使用的查询和循环如下:
$birthSearchQuery = Doctrine_Query::create()->select('a.bir_le_reg,a.bir_le_dob,b.bir_le_district')
->from('BirthLegalInfo as a')
->innerJoin('a.BirthStatisticalInfo as b')
->Where('bir_le_reg_no IS NOT NULL')
->andwhere('bir_le_birth_state =' . $birthState)
->andwhere('bir_le_birth_district =' . $birthDistrict)
->andwhere('YEAR(bir_le_dob)=' .$birthFromYear);
$result = $birthSearchQuery->execute(array(), Doctrine::HYDRATE_SCALAR);
它使用print_r($result)返回给我一个数组数组
Array
(
[0] => Array
(
[bir_le_reg] => Delhi
[bir_le_district] => Delhi
[bir_le_dob] => 2015
)
[1] => Array
(
[bir_le_reg] => Delhi
[bir_le_district] => Delhi
[bir_le_dob] => 2014
)
[2] => Array
(
[bir_le_reg] => Delhi
[bir_le_district] => Delhi
[bir_le_dob] => 2015
)
)
我正在使用的foreach循环是
foreach($result as $value){
echo $value['bir_le_district'];
echo '<br />';
echo $value['bir_le_reg'];
echo '<br />';
echo $value['bir_le_dob'];
}
最佳答案 要将变量传递给symfony 1.x中的模板,您应该在$this->前面加上它.
在你的情况下,你应该这样做:
$this->result = $birthSearchQuery->execute(array(), Doctrine::HYDRATE_SCALAR);
然后,在您的模板中,您可以致电:
foreach ($result as $value) {
没有任何问题.