Como você verifica se um objeto existe no mecanismo de modelagem Twig no Symfony2?

84

Eu tenho uma matriz multidimensional onde alguns objetos existem e outros não. Eu continuo recebendo um

O método "code" para o objeto "stdClass" não existe em ... ?

O código que estou usando em meu modelo é:

{% for item in items %}
    <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}

Alguns produtos não têm esse código e, infelizmente, essa estrutura de dados é fornecida por meio de um feed, portanto, não posso alterá-la.

Quando olhei a documentação do Twig, interpretei que se um objeto ou método não estivesse lá, ele apenas retornaria nulo?

Adam Stacey
fonte

Respostas:

150

Fiz uma pesquisa rapidamente, espero que funcione para você: p

definiram

definido verifica se uma variável está definida no contexto atual. Isso é muito útil se você usar a opção strict_variables:

{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}
Tjorriemorrie
fonte