我进行了以下 DQL 调用:
"SELECT SUBSTRING(e.sDateStart, 1, 4) as year
FROM contrastBundle:Exhibition e
WHERE e.sDateStart < :dateStart
GROUP BY year
ORDER BY year DESC"
它基本上返回我需要的东西,但形式如下:
array(3) {
[0]=>
array(1) {
["year"]=>
string(4) "2007"
}
[1]=>
array(1) {
["year"]=>
string(4) "2006"
}
[2]=>
array(1) {
["year"]=>
string(4) "2005"
}
}
这使得使用它非常烦人。
编辑 :
{% for eachyear in years %}
<a {% if year == eachyear.year %}class="active"{% endif %} href="{{path('exhibitions', {'year' : eachyear.year })}}">{{ eachyear.year }}</a>
{% endfor %}
我可以使用 eachyear.year 访问字符串,但这是一个丑陋的解决方案。
我想知道哪个是最好的解决方案,我特别想处理我从调用中获得的数组,这样它基本上是一个多年的数组。pop_array() 和类似的似乎没有帮助。我还尝试对调用的输出进行水合,getArrayResult() 和 getScalarResult() 都将返回相同的输出。