我在Doctrine和Symfony2中遇到这个错误:
无法解析类"ST\UserBundle\Entity\User"的列"id"的类型
统计
class Statistique { // ... // @ORM\ManyToOne(targetEntity="ST\UserBundle\Entity\User") // @ORM\JoinColumn(name="idPro", referencedColumnName="id") private $user; }
用户
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注释中,列名称(如in @ORM\Column(name="x"...)
和@ORM\JoinColumn(name="y", referencedColumnName="x" ...)
- 是真正的数据库列名称).