В проекте Symfony2, как я могу передать массив как значение для метода отправки?
Моей форме нужно 7 параметров, поэтому, когда я делаю это handleRequest()
, она работает нормально, заполняя форму вручную, но если я пытаюсь использовать массив и submit()
, это не удается.
Обратите внимание, что массив, который я передаю методу отправки, находится в другом порядке, не имеет токена и имеет 8 значений вместо 7.
И, конечно же, я не использую метод handleRequest.
Но ключ массива $data[0] совпадает с именем свойств объекта.
$addForm = $this->createForm('ns_add', $entity);
$addForm->submit($data[0]);
EDIT: почти хорошо, с:
$addForm = $this->container->get('form.factory')->createNamed(null, 'ns_add', $entity);
Все параметры передаются в форму, я вижу это в профилировщике Symfony (инструмент под каждым приложением Symfony), но у меня все еще есть одна ошибка: токен CSRF недействителен. Пожалуйста, попробуйте повторно отправить форму.
Поскольку все 7 моих полей заполнены + 1 поле отправки, у меня пропущено только поле «_token», поэтому я пытаюсь добавить его в свой $data[0]
, но он не отображается в var_dump моего массива, но если я добавлю ключ, отличный от «_token», появляется (и вызывает ошибку: не разрешено или не указано дополнительное поле).
Вот я и подумал, что это из-за жетона моей первой формы. На самом деле настоящая форма представляет собой текстовую форму с 7 входами, но я создал кнопку экспорта, которая извлекает конфигурацию объекта, который я экспортирую.
И тогда, когда я загружаю файл через форму, содержащую конфигурацию, у меня уже есть ТОКЕН. Это вид РАЗДЕЛА ФОРМЫ в профилировщике:
ns_zippedfile [ns_zippedfile]
file [file]
ok [submit]
_token [hidden]
(no name) [ns_add]
name [text]
adapter [choice]
dbname [text]
host [text]
port [text]
username [text]
password [password]
submit [submit]
Так что, может быть, мне нужно найти способ не объединять формы, этот раздел без имени меня смущает.
$data[0]
для доступа к нему, теперь я пытаюсь использовать те сеттеры объекта экземпляра объекта, чтобы создать весь полный объект и передать его методу отправки, но все же не т работать :/ - person ricko zoe   schedule 07.03.2016data[0]
, но в другом порядке, а это дополнительный ключ. - person ricko zoe   schedule 07.03.2016