Symfony2,表单选择,根据映射实体属性的选择列表


Symfony2, form choice , list of choices depending of mapped entity property

我有一个实体RestaurantOrder,它的属性是status

status可以取这些值

  • new
  • accepted
  • being prepared
  • delivered
  • cancelled by customer
  • cancelled by kitchen

等。

现在我想要的是,当我在后端编辑一个餐厅订单时,status的列表呈现给我是依赖于当前的status

我发现最简单的是我的实体有一个方法getPossibleStatusChange,它返回一个可能选择的数组(使用业务需求给出的复杂规则)

但是我还没有在Symfony2 for Choices中找到一个选项说"从当前实体调用方法"

我已经知道如何从静态回调或从调用Repository

的回调填充选择。

有这样的选项吗?

我不知道这有什么可能。

您可以通过以下方式访问formType中的底层对象:

$builder->getForm()->getData();

你可以使用你的方法来生成你的选择