поскольку титл говорит, что я не могу получить эти значения, вот мой код:
Я получил эту форму (не отображался):
$default = array('default' => '');
$form2 = $this->createFormBuilder($default)
->add('Users', 'choice', array(
'choices' => $info,
))
->getForm();
Где $ info Является массивом строк.
И я пытаюсь получить доступ к следующим данным:
if ($request->getMethod() == 'POST') {
$data = $this->get('request')->request->get('form');
$user = implode(",", $data);
}
Но результат, который я получаю, выглядит примерно так:
0, ACARxcur37cumZiRm5AmmyRJdC5UpuO1hb43I5LFx2A
Я предполагаю, что 0 является выбранным индексом, но почему я получаю этот код? Похоже, получил какой-то формат.
Пытаясь предложить Крису следующее:
$default = array('default' => '');
$info = array();
$form = $this->createFormBuilder($default)
->add('Users', 'choice', array(
'choices' => $info,
))
->getForm();
$form->handleRequest($request);
//1st try:
$data = $form2->get('Users')->getConfig()->getOption('choices');
//2nd try:
$data = $form2->get('Users');
В первой попытке я ничего не получаю, он кажется пустым.
Во второй попытке я получаю сообщение об ошибке.
PD: Мне нужно получить выбранное значение, а не полное поле.
Спасибо за чтение, надеюсь, вы можете мне помочь.
Решенный, поскольку я думал, что "0" в результате "0, ACARxcur37cumZiRm5AmmyRJdC5UpuO1hb43I5LFx2A" на самом деле является значением параметра, поэтому решение изменило это значение при создании $ info.
Вместо:
array_push ($ информации, $ пользователя);
Я сделал: $ info [$ user] = [$ user];
Таким образом, значение параметра и метка содержат то же самое.
Всем спасибо.
Вы должны обрабатывать форму, используя метод Symfony.
Поэтому вместо того, чтобы делать
($request->getMethod() == 'POST)
Используйте форму, чтобы получить данные не $ _REQUEST
сделал бы это
$form->handleRequest($request);
if($form->isValid()) {
$data = $form->get('Users')->getData();
}