Как сохранить данные из другой сущности?

Всем привет, в общем есть 3 таблицы, (user, project, user_projects), таблица user_project состоит из 3-х полей id, user_id, project_id. Создал форму для создания юзера, добавил селект из списка проектов, т.е. у селекта используется Project::class, поэтому при сохранении я естественно ловлю ошибку что ожидается UserProject, а отдаю Project, так вот вопрос как это правильно сделать? Видел есть преобразователи данных, но я не уверен что это тот случай где они должны использоваться.

$builder->add('projects', EntityType::class, array(
                'class' => (string) Project::class,
                'attr' => array('class' => 'form-control listbox-no-selection listbox-tall'),
                'multiple' => true,
                'choice_label' => 'name',
                'required' => false,
            ))


if ($request->isMethod('POST')) {
            $form->submit($request->request->get($form->getName()));
            if ($form->isSubmitted() && $form->isValid()) {
                /** @var $user User */
                $user = $form->getData();
                $user->setPassword($passwordEncoder->encodePassword($user, $user->getPassword()));
                $em->persist($user);
                $em->flush();
                return $this->redirectToRoute('users_list');
            }
        }
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
Minifets
@Minifets
Hello world!!!
Чем вас не устраивает Many-to-Many?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы