将值与字符串IF / FOR语句进行比较

时间:2014-11-19 14:39:52

标签: php symfony doctrine-orm twig symfony-2.5

我目前正在尝试比较每个已保存实体的值,并将结果组织到某些部分。我不能为我的生活找到如何使用twig将变量与字符串进行比较。我尝试过的所有内容都是错误的,除了下面的代码而不是失败,只是跳过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 %}
  

结果=

     

FAIL!主要2

     

FAIL!初学者0

     

FAIL!初学者1

     

FAIL!沙漠3

     

FAIL!主要4

任何建议都非常受欢迎。

1 个答案:

答案 0 :(得分:2)

结果都以“&#39;而条件陈述则没有。尝试:

{% 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 %

我认为你应该尝试修复这些变量,而不是让所有这些变量以#&#39;结尾。