无法解析列的类型\" id \"班级

时间:2016-01-05 16:18:54

标签: symfony doctrine-orm

我在Doctrine和Symfony2上遇到了这个错误:

  

无法解析列的类型" id" class" ST \ UserBundle \ Entity \ User"

统计

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;

    // ...
}

我无法弄清楚。

1 个答案:

答案 0 :(得分:16)

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" ...))是真正的数据库列名。