1

我进行了以下 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() 都将返回相同的输出。

4

0 回答 0