У меня есть две сущности: Program
и Widget
Программа
class Program
{
....
/**
* @Assert\Valid
*
* @ORM\OneToOne(targetEntity="Widget", inversedBy="program", cascade={"persist", "remove"}, orphanRemoval=true)
* @ORM\JoinColumn(nullable=true)
*/
private $widget;
}
Виджет
class Widget
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="integer")
*/
private $addressId;
/**
* @ORM\Column(type="integer")
*/
private $extAddressId;
/**
* @ORM\Column(type="string")
*/
private $language;
/**
* @ORM\OneToOne(targetEntity="Program", mappedBy="widget")
*/
private $program;
}
У меня есть две проблемы.
Сначала мне нужно добавить условное ограничение для Widget
, addressId
или extAddressId
, т.е. должны быть определены, а не оба.
Второй widget
не требуется для Program
.Либо вы оставляете все поля формы пустыми, как будто вы не хотите добавлять виджет в форму, ИЛИ вы заполняете форму, но вы должны соблюдать условное ограничение и, конечно, обязательные поля.
Я былпытаюсь добавить Callback
, как это объяснено в официальном документе здесь , но я понятия не имею, как объединить оба.