使用 Symfony 4.1,Doctrine 2.x,我有三个实体。一个订阅可以分配多个身份(也称为用户帐户)。当保存哪些身份属于屏幕上当前可见的订阅时(通过标准 Symfony 表单),它会失败。
身份.php
class Identity implements UserInterface, \Serializable, InteractiveLoginUserInterface
{
/**
* @var int
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string|null
*
* @ORM\Column(type="string", length=255, unique=true)
* @Assert\NotBlank()
* @Assert\Email()
* @Assert\Length(max="255")
*/
public $username;
订阅.php
class Subscription
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @var bool
* @ORM\Column(type="boolean")
*/
/**
* @var Collection
* @ORM\OneToMany(targetEntity="SubscriptionIdentity", mappedBy="subscription", fetch="EAGER")
*/
public $identities;
SubscriptionIdentity.php
class SubscriptionIdentity
{
/**
* @var int
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Subscription", inversedBy="identities")
* @ORM\JoinColumn(name="subscription_id", referencedColumnName="id", nullable=false)
*/
public $subscription;
/**
* @ORM\ManyToOne(targetEntity="Identity", inversedBy="subscriptions")
* @ORM\JoinColumn(name="identity_id", referencedColumnName="id", nullable=true)
*/
public $identity;
请帮忙!Symfony / Doctrine 文档在这种情况下并没有太大帮助。谢谢。
30秒到达战场