symfony - 无法解析类的列“id”的类型

标签 symfony doctrine-orm

我在使用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/

相关文章:

doctrine-orm - 学说2标准 - 像运算符

mysql - 在 symfony2 Twig 模板中找不到实体

php - Composer 更新

mysql - ManyToOne 向 FOS_User_Bundle 用户表添加外部约束的问题

php - 404 资源未找到 api-platform

php - 复合标识符,但使用 ID 生成器而不是手动分配 + Symfony2

mysql - Symfony2 - 如何根据自定义查询获取实体对象?

mysql - "No result was found for query although at least one row was expected."查询应该在 Symfony 中显示记录

php - 在 Doctrine 2 (Symfony 2) 中排序具有可排序行为的实体

php - 如何为 Symfony FormBuilder 中的每个 CollectionType 条目设置不同的 entry_options