如何在控制器中获取Config数组参数以将其发送到twig以便在表单中显示它

时间:2017-01-24 17:09:07

标签: php symfony symfony-forms

我有一个包含位置字段的表单。使用下拉列表和选项创建newUser.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(userInfo -> { Log.i("Server Call", "Received: " + userInfo.toString()); }); 类我已将config.yml中的所有位置定义为参数。

config.yml:

ChoiceType

控制器表单字段:

parameters:
    locations:[location1, location2, location3]

这显示数组位置,即location1为$form = $this->createFormBuilder($abc) ->add('location', ChoiceType::class, array( 'label' => 'Select Location', 'choices'=> $this->getParameter('locations'), )) ->getForm(); ,location2为0等,但我想显示数组值。

我尝试过的其他事情,将这些参数放在一个数组中,然后尝试1个选项。我得通过以下方式显示位置:

array_value

并以表格形式:

$arrayincontroller=$this->getParameter('locations')

但不想写这样的每个位置。有没有更好的方法来传递值来形成。试图包括foreach但我猜不能这样做。

1 个答案:

答案 0 :(得分:1)

您可以将参数定义为数组,如下所示:

parameters:
    locations:
        location1: location1
        location2: location2
        location3: location3

始终检索:

$arrayincontroller=$this->getParameter('locations')

但请按以下方式使用:

->add('location', ChoiceType:class, array('label' => 'Select Location', 'choices'=> $arrayincontroller);

希望这个帮助