我在使用Doctrine和Symfony2时遇到此错误:
无法解析类别“ ST \ UserBundle \ Entity \ User”的列“ id”的类型
统计
class Statistique
{
// ...
// @ORM\ManyToOne(targetEntity="ST\UserBundle\Entity\User")
// @ORM\JoinColumn(name="idPro", referencedColumnName="id")
private $user;
}
编辑#1:
用户
use FOS\UserBundle\Model\User as BaseUser;
// @ORM\Table(name="tiers_prov3")
class User extends BaseUser
{
/**
* @ORM\Column(name="TIE_ID", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
*/
protected $id;
// ...
}
我不知道。
最佳答案
您在User类中的$ id属性的列名称是“ TIE_ID”。因此,请尝试在您的Statistic类中使用此名称而不是id:
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="ST\UserBundle\Entity\User")
* @ORM\JoinColumn(name="idPro", referencedColumnName="TIE_ID") <== here
*/
private $user;
在Doctrine批注中,列名(如
@ORM\Column(name="x"...)
和@ORM\JoinColumn(name="y", referencedColumnName="x" ...)
中的列名)是真实的数据库列名。
关于symfony - 无法解析类的列“id”的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616334/