我有一个公司对象,其中有许多相关的 bankAccount 对象。但是,一家公司只需要一个有效的银行帐户。
在公司对象中标记活动 bankAccount 的正确方法是什么?
在我当前的实现中,我添加了一个名为 activeBankAccount 的 OneToOne 单向字段,该字段最初可以为空。它似乎有效,但有没有更好的方法来做到这一点?
class Company
{
/**
* @ORM\OneToMany(targetEntity="BankAccount", mappedBy="company")
*/
private $bankAccounts;
/**
* @ORM\OneToOne(targetEntity="BankAccount")
* @ORM\JoinColumn(name="bank_account_id", referencedColumnName="id", nullable=true)
*/
private $activeBankAccount;
}
class BankAccount
{
/**
* @ORM\ManyToOne(targetEntity="Company", inversedBy="bankAccounts")
* @ORM\JoinColumn(name="company_id", referencedColumnName="id", nullable=false)
*/
private $company;
}