PHP и Twig :Проблемы с доступом к переменным в шаблоне

В моем контроллере я устанавливаю следующие переменные и передаю их в шаблон Twig:

$data = $model::all(); // returns object [phpactiverecord]
$fields = getFields(); // returns associative array

В моем шаблоне я пытаюсь получить к ним доступ следующим образом:

{% block rows %}
  {% for row in data %}
            
    {% for field in fields %}
              {{ row[field.name] }}
    {% endfor %}
            
  {% endfor %}
{% endblock %}

В этом сценарии $fields определяется как :

Array
(
    [0] => Array
        (
            [name] => id
            [display] => Id
        )

    [1] => Array
        (
            [name] => name
            [display] => Name
        )

)

, а $data — это массив объектов phpactiverecord.


Как написано выше, для row[field.name] ничего не выводится.

Вот результаты, которые я увижу, если изменю row[field.name]:

row.name        -> outputs Value I would expect from row[field.name]
field.name      -> outputs "name"
row['name']     -> outputs nothing
row[field.name] -> outputs nothing

Согласно сайту Twig:Вы можете использовать точку (. )для доступа к атрибутам переменной (методы или свойства объекта PHP или элементы массива PHP )или так -называемый синтаксис «индекс»([] ):

Любые идеи о том, как это сделать Работа?

5
задан hakre 24 April 2012 в 20:43
поделиться