Output array in Twig
You can use join
to output an array as a concatenated string. It behaves like implode() in php.
Example:
{{ [1, 2, 3]|join }}
{# returns 123 #}
{{ [1, 2, 3]|join('|') }}
{# outputs 1|2|3 #}
{{ [1, 2, 3]|join(', ', ' and ') }}
{# outputs 1, 2 and 3 #}
See the twig join documentation.
So, as error shows you are trying convert array (in category
variable) to string. You can preview array by dump()
(doc.). In your case:
{% for category in user.profile.category %}
{{ dump(category) }}
{% endfor %}
Please notice that dump()
should be use only for debugging.
TWIG doesn't know how you want to display your table.
By the way, you should consider naming your variable $categories
instead of $category
, as you table contains several categories.
Then try this:
{% for category in user.profile.categories %}
{{ category }}
{% endfor %}
If my answer doesn't help, please give us the structure of your array (is there any keys or sub-arrays in you table or is it just a list?)