0

我从数据库中得到一个数字(比如说,10),我想在if/else语句中使用它。请注意,我的变量可能等于 0 或 null。

我的变量是item.getRate.getRate. 我在这样的模板中显示它:

{{ item.getRate.getRate | 默认('0')}}

我试着做一个if声明

{% if item.getRate.getRate == 1 %}某事{% endif %}

但它不起作用。

它在循环中运行,其中一项为空getRate。这可能是问题吗?如果是 - 我怎样才能避免它?

4

3 回答 3

4

您可以将这两种测试结合起来,以使您的代码易于阅读。

{% if item.getRate.getRate is defined and item.getRate.getRate == 1 %} 
    checked="checked"
{% endif %}
于 2013-01-07T11:18:53.563 回答
1

我只需要检查变量是否存在;)

{% if item.getRate.getRate is defined %}{% if item.getRate.getRate == 1 %} checked="checked"{% endif %}{% endif %}

有点长,但有效。有人有更好的主意吗?因为它会很棒,现在它有点难看:))

于 2013-01-07T11:15:36.460 回答
0

假设 getRate 具有非零、非空值对于这种布尔值指示是必要的,如您的示例所示:

{% if not(not(item.getRate.getRate)) %} 
    checked="checked"
{% endif %}
于 2013-01-07T18:56:46.580 回答