関連する多くの bankAccount オブジェクトを持つ会社オブジェクトがあります。ただし、1 つの会社でアクティブな bankAccount を 1 つだけ持つ必要があります。
company オブジェクトでアクティブな bankAccount をマークする正しい方法は何ですか?
私の現在の実装では、最初は null 可能である activeBankAccount と呼ばれる OneToOne Unidirectional フィールドを追加しました。動作しているように見えますが、これを行うより良い方法はありますか?
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;
}