Doctrine加入表继承而没有鉴别器

时间:2016-02-04 17:07:44

标签: php orm doctrine-orm

我有两个对象,Company (id, name)CompanyWithAccount(accountNumber, balance) extends Company

如果我使用InheritanceType("JOINED"),我必须指定DiscriminatorColumn。在此列中存储了标志,该标志指定,如果它是CompanyCompanyWithAccount,但我希望能够同时存在。

例如:
$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是否可以这样?

0 个答案:

没有答案