【发布时间】:2014-01-04 04:58:47
【问题描述】:
我在 Doctrine 2(使用 Symfony2)中映射实体时遇到问题。 Symfony 说错误在 Perfil 实体中,但 Doctrine 部分分析器说错误是 en Funcion 实体。
这是错误(在浏览器上):
列 id 必须映射到类中的字段 AppsManantiales\CommonBundle\Entity\Perfil 因为它被 加入另一个类的列。
但是,在分析器中:
AppsManantiales\CommonBundle\Entity\Funcion:引用的列 name 'id' 必须是目标实体类的主键列 'AppsManantiales\CommonBundle\Entity\Funion'。引用的列 name 'id' 必须是目标实体类的主键列 'AppsManantiales\CommonBundle\Entity\Perfil'。
这是关系:
Perfil 实体,基本上是:
class Perfil implements RoleInterface{
/**
* @ORM\Id
* @ORM\Column(type="integer", length=10)
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $idperfil;
/**
* @ORM\ManyToMany(targetEntity="Funcion", mappedBy="perfiles")
* @ORM\JoinTable(name="perfil_funcion",
* joinColumns={@ORM\JoinColumn(name="perfil", referencedColumnName="idperfil")},
* inverseJoinColumns={@ORM\JoinColumn(name="funcion", referencedColumnName="idfuncion")}
* )
*/
protected $funciones;
// More code...
}
Function 实体基本上是:
class Funcion {
/**
* @ORM\Id
* @ORM\Column(type="integer", length=11)
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $idfuncion;
/**
* @ORM\ManyToMany(targetEntity="Perfil", inversedBy="funciones")
*/
protected $perfiles;
// More code...
}
有什么想法吗?谢谢!
【问题讨论】:
标签: symfony doctrine-orm