Во-первых, вы делаете что-то действительно странное ... Вместо того, чтобы javascript извлекал ваши пользовательские данные в DOM, почему бы вам не использовать форму и не отправить ее напрямую?
Вы кажетесь довольно новымSymfony, поэтому я предложу вам лучший способ узнать, как Symfony делает вещи ... Используйте командные строки для генерации сущностей, контроллеров, форм и т. д. ...
Вот списокбольшинство пользовательских команд для работы с Symfony:
Создание пакета
php bin/console generate:bundle
Созданиесущность
php bin/console doctrine:generate:entity
Обновление всех получателей и установщиков сущностей в пакете
php bin/console doctrine:generate:entities *NameBundle*
Обновить один метод получения и установки объекта
php bin/console doctrine:generate:entities *NameBundle:Entity*
Проверка связей объектов и базы данных Squeleton
php bin/console d:s:v
Создать тип формы объекта
php bin/console doctrine:generate:for
Создать контроллер объекта, тип формы иview
php bin/console doctrine:generate:crud --with-write
Дамп SQL-изменений в консоль.
php bin/console doctrine:schema:update --dump-sql
Использовать перед обновлением скелетачтобы проверить, все ли соответствуют вашим желаниям.
Применить изменения SQL
php bin/console doctrine:schema:update --force
Списоквсе существующие маршруты в консоли.
php bin/console debug:router
Очистить производственный кеш
php bin/console cache:clear --no-warmup --env=prod
Очистить кэш developmnt
php bin/console cache:clear --no-warmup --env=dev'
Поскольку это облегчает задачу, я предлагаю вам использовать аннотацию для маршрутов вместо yml.
Для вашего кода это настоящий беспорядок и он недействителен как есть ...
Если вы использовали форму, вот как должно выглядеть основное действие редактирования
public function editAction(Request $request, User $user) {
$editForm=$this->createForm(UserType::class, $user);
$editForm->handleRequest($request);
if($editForm->isSubmitted() && $editForm->isValid()) {
$this->getDoctrine()
->getManager()
->flush();
return $this->redirectToRoute('_edit', array('id'=>$user->getId()));
}
return $this->render('security/edit.html.twig', array(
'user'=>$user,
'edit_form'=>$editForm->createView(),
));
}
Выв коде отсутствует часть формы, и он действительно опасен как есть ...
В качестве хорошего примера вы не отправляете токен формы, что приведет к ошибке при попытке обновить базу данных.
Боюсь, что оказание вам помощиКодировать это совершенно невозможно, поскольку вы не используете Symfony, как следует.