Как я могу передать переменную в Formbuilder? - PullRequest
0 голосов
/ 30 января 2012

Я нашел больше ответа по этому поводу, но ошибка возврата "Опция" prova "не существует"

Я делаю это в defaultcontroller.php

$form = $this->createForm(new ProvinciaType(), $provincia, array('prova' => 'ciao'));

в ProvinciaType.php

public function buildForm(FormBuilder $builder, array $options)
    {
       $builder->add('name', 'entity', array(
    'class' => 'AcmeIndexBundle:Provincia',
    'query_builder' => function(EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->orderBy('u.name', 'ASC');
    },'empty_value' => $options['prova'] 
));

    }

но не работает почему?

1 Ответ

5 голосов
/ 30 января 2012

Просто передайте это конструктору:

$this->createForm(new ProvinciaType($options), $provincia)

И используйте его в виде:

public function __construct($options) {
    $this->options = $options;
}

Затем используйте это в buildForm:

$options = $this->options;
....
function(EntityRepository $er) use ($options)
    ...
},'empty_value' => $options['prova'] 
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...