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?

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 %}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.