Сравнить значение со строкой IF/FOR

В настоящее время я пытаюсь сравнить значение каждого сохраненного объекта и организовать результаты в определенных разделах. Я не могу на всю жизнь найти, как сравнить переменную со строкой, используя веточку. Все, что я пробовал на ошибки, за исключением следующего кода, который вместо сбоя просто пропускает IF и показывает ELSE. Я предполагаю, что я все понял неправильно, но в документации Twig нет упоминания о том, как это сделать (я думаю), и я начинаю думать, что я все делаю неправильно. Может быть, я должен делать это в контроллере?

{% for product in entity.product %}
    {% if product.dish.DishCat == 'Starter' %} 
        <h3>Starter</h3>
        <p>{{ product.dish }}</p>
    {% elseif product.dish.Dishcat == 'Main'%}
        <h3>Main</h3>
        <p>{{ product.dish }}</p>
    {% elseif product.dish.Dishcat == 'Desert'%}
        <h3>Desert</h3>
        <p>{{ product.dish }}</p>
    {% else %} // Always just get's to here.
        <p> FAIL!</p>
        <p>{{product.dish.DishCat}} {{product.dish.id}}</p> //I print 'product.dish.DishCat' to ensure It's actually got a value which it does...
    {% endif %}
{% endfor %}

Результат =

ПОТЕРПЕТЬ ПОРАЖЕНИЕ! Сеть 2

ПОТЕРПЕТЬ ПОРАЖЕНИЕ! Стартеры 0

ПОТЕРПЕТЬ ПОРАЖЕНИЕ! Стартеры 1

ПОТЕРПЕТЬ ПОРАЖЕНИЕ! Пустыни 3

ПОТЕРПЕТЬ ПОРАЖЕНИЕ! Сеть 4

Любое предложение очень приветствуется.

1 ответ

Решение

Все результаты заканчиваются на 's', а условные операторы - нет. Пытаться:

{% for product in entity.product %}
    {% if product.dish.DishCat == 'Starters' %} 
        <h3>Starter</h3>
        <p>{{ product.dish }}</p>
    {% elseif product.dish.Dishcat == 'Mains'%}
        <h3>Main</h3>
       <p>{{ product.dish }}</p>
    {% elseif product.dish.Dishcat == 'Deserts'%}
        <h3>Desert</h3>
        <p>{{ product.dish }}</p>
    {% else %} // Always just get's to here.
        <p> FAIL!</p>
        <p>{{product.dish.DishCat}} {{product.dish.id}}</p>
        //I print 'product.dish.DishCat' to ensure It's actually got a value which it does...
   {% endif %}
{% endfor %

Я думаю, что вы должны попытаться исправить переменные и не допустить, чтобы все они заканчивались символом "s".

Другие вопросы по тегам