Вложенная форма symfony 3

У меня есть 2 объекта в моем приложении Symfony с отношением ManyToOne

class Sprint
{
    /**
     * @var int
     *
     * @ORM\Column(name = "id", type = "integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy = "AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name = "name", type = "string", length=255)
     */
    private $name;...

И

Class Livrable
{
    /**
     * @var int
     *
     * @ORM\Column(name = "id", type = "integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy = "AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name = "name", type = "string", length=255)
     */
    private $name;

    /**
     * @ORM\ManyToOne(targetEntity = "App\MemberBundle\Entity\Sprint", cascade = {"persist"})
     * @ORM\JoinColumn(nullable=true)
     */
    private $sprint; ....

И в моей форме LivrableType у меня есть

   public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name')
                ->add('sprint', SprintType::class);
    }

Все идет хорошо, когда я создаю Пригодный для жизни с спринт, но мне нужно разрешить пользователю либо выбрать свой спринт, если он существует, либо создать его, если он не существует. Спасибо за вашу помощь

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
0
46
1

Ответы 1

Вместо того, чтобы отображать форму напрямую в сущность, создайте какой-нибудь DTO (LivrableDTO), который будет иметь свойства Sprint, SprintSelect и SprintCreate. Этот DTO вы можете сопоставить с вашей Livrable-сущностью.

Спасибо за ваш ответ. Однако я не уверен, что понимаю вас, ваше объяснение для меня очень краткое

timri86 16.08.2018 12:24

Другие вопросы по теме