编辑:我了解到,我的子类缺少一个注释("这里只是一个ID",thx到GreenLeaf(。我现在的实际问题是,我不知道如何克服这一点,我无法让它发挥作用。
原件:
我刚刚将Symfony 2.0应用程序迁移到Symfony 2.2,并在开发探查器中获得了一个"无效实体"信息,该信息涉及单向一对多关联。使用带有的控制台时
php console doctrine:schema:validate
我收到2条消息:
* The association EntityWatched#reference refers to the inverse side field EntityReference#id which is not defined as association.
* The association EntityWatched#reference refers to the inverse side field EntityReference#id which does not exist.
我认为,这是错误的,因为"id"是在超类中定义的。该应用程序仍然在旧的DB(使用Symfony 2.0创建(上运行良好。这是我的课程(简化(:
代码:选择所有
/**
* @ORMMappedSuperclass
* @ORMHasLifecycleCallbacks
*/
abstract class SuperclassAbstract {
/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue(strategy="AUTO")
*/
protected $id = "";
// some fields more...
}
/**
* @ORMEntity
* @ORMTable(name="watched")
*/
class Watched extends SuperclassAbstract {
/**
* @ORMManyToOne(targetEntity="Reference", inversedBy="id")
* @ORMJoinColumn(name="reference_id", referencedColumnName="id")
*/
protected $reference;
// some fields more...
}
/**
* @ORMEntity
* @ORMTable(name="reference")
*/
class Reference extends SuperclassAbstract {
// some fields more...
}
我不能把条令看作关系数据库。。。。谢谢
我在引用中添加了一个列表来处理关联的另一端。