У меня много отношений между объектом подписки и объектом клиента.
Я делаю форму, чтобы добавить подписку для клиента.
В этой форме я могу выбрать уже существующего клиента, но я хотел бы иметь возможность создать нового клиента, если он не существует.
CustomerEntity:
class Customer implements \JsonSerializable
{
/**
* @var int
*
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var string
*
* * @ORM\Column(type="string", length=180, unique=true)
*/
private $name;
public function getId(): ?int
{
return $this->id;
}
public function setName(string $name): void
{
$this->name = $name;
}
public function getName(): ?string
{
return $this->name;
}
/**
* {@inheritdoc}
*/
public function jsonSerialize(): string
{
return $this->name;
}
public function __toString(): string
{
return $this->name;
}
}
SubscriptionEntity:
class Subscription
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Customer")
* @ORM\JoinColumn(nullable=false)
*/
private $customerName;
public function getId(): ?int
{
return $this->id;
}
/**
* @return CustomerName
*/
public function getCustomerName()
{
return $this->customerName;
}
public function setCustomerName($customerName): self
{
$this->customerName = $customerName;
return $this;
}
public function __toString()
{
return $this->customerName;
}
}
SubscriptionType (форма):
class SubscriptionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('customerName', null, array(
'required' => true,
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => TicketSubscription::class,
'customerName' => null
]);
}
}
Так что в настоящее время я могу создать подписку для существующего клиента, я хотел бы знать, как я могу создать подписку для несуществующего клиента?