Trong điều khiển của tôi, tôi đang thiết lập các biến sau và chuyển chúng tới các mẫu Twig:PHP & Twig: Rắc rối truy cập vào các biến trong mẫu
$data = $model::all(); // returns object [phpactiverecord]
$fields = getFields(); // returns associative array
Trong mẫu của tôi, tôi đang cố gắng truy cập chúng như thế này:
{% block rows %}
{% for row in data %}
<tr>
{% for field in fields %}
<td>{{ row[field.name] }}</td>
{% endfor %}
</tr>
{% endfor %}
{% endblock %}
trong kịch bản này, $ lĩnh vực được định nghĩa là:
Array
(
[0] => Array
(
[name] => id
[display] => Id
)
[1] => Array
(
[name] => name
[display] => Name
)
)
và dữ liệu $ là một mảng đối tượng phpactiverecord.
Như đã viết ở trên, không có đầu ra cho hàng [field.name].
Dưới đây là kết quả tôi thấy nếu tôi thay đổi hàng [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
Theo Twig site: Bạn có thể sử dụng dấu chấm để truy cập các thuộc tính của một biến ((.) các phương thức hoặc thuộc tính của một đối tượng PHP hoặc các mục của một mảng PHP), hoặc cú pháp "subscript" ([]):
Bất kỳ ý tưởng nào về việc này sẽ hoạt động?
Điều đó khắc phục - cảm ơn! – sonicradish