我有两个对象,Company (id, name)
和CompanyWithAccount(accountNumber, balance) extends Company
。
如果我使用InheritanceType("JOINED")
,我必须指定DiscriminatorColumn
。在此列中存储了标志,该标志指定,如果它是Company
或CompanyWithAccount
,但我希望能够同时存在。
例如:
$company = $em->find('Company', 1);
创建查询:
SELECT * FROM company WHERE id = 1;
和
($company instanceof Company)
是真的
和
$company = $em->find('CompanyWithAccount', 1);
创建查询:
SELECT * FROM company_with_account INNER JOIN company WHERE id = 1;
和
($company instanceof CompanyWithAccount)
是真的
我不需要指定鉴别器,因为第1行可以是Company
,但如果匹配表CompanyWithAccount
中的行,也可以是company_with_account
。
Doctrine 2是否可以这样?