2013-06-28 107 views
1

我在学说2.3(使用Symfony 2)中设置实体时遇到了问题。OneToOne-与实现接口的两个实体的关系

有一个类'产品'有一个字段'生产者'。 现在这个生产者可以是一个人(类'用户')或一个组(类'组')。

我想做的事,现在已在用户和组级实现一个接口,“生产者”,然后让我的$生产者字段映射到生产者接口。

/** 
* @var Producer 
* @ORM\OneToOne(targetEntity="..\..\Entity\Producer") 
*/ 
private $producer; 

然而,这未能与消息:

"Column name `id` referenced for relation from ..\..\Entity\Product towards 
..\..\Entity\Producer does not exist. 

给它一个第二个想法后,这似乎是显而易见的 - 但现在我想知道,我怎么能解决这个问题。因为如果我没有使用任何持久性并且只使用PHP/Java /任何东西,这种方法就可以工作 - 但是当映射到数据库时,生活更加复杂:-)

继承不是解决方案,因为User “已经扩展类‘人’,也没有相似性‘组’和有没有这样的事情在PHP作为多重继承...

那么,什么是这个问题的干净的解决方案?

+0

Duplicate:http://stackoverflow.com/questions/22986318/relation-to-interface-in-doctrine 不幸的是没有答案那里。 –

回答

相关问题