在Twig中访问枚举值

时间:2013-07-18 08:52:10

标签: symfony enums twig

在我的一个实体中,我添加了这个:

class MyClass {

  // Annotations   

  /**
   * @ORM\Column(type="integer")
   */
  private $status;

  // Status values
  const Created = 10;
  const Refused = 20;
  const Valid   = 30;

  // Getters, setters
}

所以我可以像使用枚举一样使用MyClass :: Status(MyClass :: Created,MyClass :: Refused等...)来访问这些值。

我想检查我的模板中我的实体的当前状态。但我不知道该怎么做。

我已经尝试过(绝望地):

{% if entity.status == entity.Created %}

哪个不能按预期工作。

但没有任何作用,我在google或SO上找不到任何东西。

2 个答案:

答案 0 :(得分:5)

Created不是您实体的属性,

尝试使用,

{% if entity.status is constant('path_to_your_bundle\\Entity\\MyClass::Created') %}

答案 1 :(得分:1)

更优雅的解决方案(在Twig文档中找到,感谢Ahmed Siouani)是:

{% if entity.status is constant('Created', entity) %}