Я использую пакет ramsey / uuid-doctrine , чтобы иметь двоичные UUID в качестве первичного ключа для объекта:
class Site { /** * @ORM\Id * @ORM\GeneratedValue(strategy="UUID") * @ORM\Column(type="uuid_binary") */ private $id; ... }
Мне нужно создать форму для другого объекта, который имеет этот объект в отношении ManyToOne.
Поэтому я добавил в свой конструктор форм EntityType следующее:
$builder->add('site')
Все работает, выбор HTML имеет uuids как ключи, но когда я отправляю форму, я получаю эту ошибку проверки:
Symfony \ Component \ Validator \ ConstraintViolation Object (Symfony \ Component \ Form \ Form) .children [сайт] = 4a41b3c4-4299-11e6-b562-fc3fdb5f816d
- Невозможно создать абстрактный класс ... в appDevDebugProjectContainer.php - Symfony2
- Как добавить повторяющуюся форму в цикле symfony2 для одного и того же объекта
- Ошибка при попытке отправить электронную почту через Gmail с помощью SwiftMailer
- Как обновить сеанс во время запроса POST?
- Symfony2: поле формы объекта с пустым значением
Вызывается: Symfony \ Component \ Form \ Exception \ TransformationFailedException Невозможно изменить значение для пути свойства «сайт»: выбор «4a41b3c4-4299-11e6-b562-fc3fdb5f816d» не существует или не уникален
Причина: Symfony \ Component \ Form \ Exception \ TransformationFailedException Выбор «4a41b3c4-4299-11e6-b562-fc3fdb5f816d» не существует или не является уникальным
Если да, то в контроллере:
$this->getDoctrine()->getManager() ->getRepository('AppBundle:Site')->find('4a41b3c4-4299-11e6-b562-fc3fdb5f816d');
Он находит объект, поэтому он существует.