2

我有 2 个教义 2 实体: - 国家(id,名称) - 映射(id,objectType,internalId,externalId)

我需要使用以下条件在 Country 和 Mapping 之间建立关联: Country.id = Mapping.internalId AND Mapping.objectType = 'country'

我可以使用 YAML/XML 映射来实现这种关系吗?

4

2 回答 2

1

您可以通过继承映射来实现这一点;您的 Country 实体将是 Mapping 实体的子类。然后你可以像这样加载一个国家:

$em->getRepository('entity\name\of\Country')->findBy(array('internalId' => 1));

仔细调查您真正需要的对象。我发现继承映射在某些情况下非常有效。您需要仔细考虑您的域,看看是否是这种情况。

于 2010-11-18T18:42:45.497 回答
1

目前 Doctrine 2 不支持这一点。关联的外键必须映射到主键,您还不能在关联上实现过滤器。过滤器计划在 2.1 中实施。

于 2010-11-18T15:02:05.153 回答