小编sh4*_*sh4的帖子

doctrine2:未定义的索引-具有非默认referencedColumnName的多对一​​实体不会持久存在

我正在使用Symfony 2.1.2。

我有两个实体,并在它们之间定义了[多对一(双向)](1)关联。我不想将主键用于外键(referencedColumnName)。我想使用另一个整数唯一列:customer_no

/**
 * @ORM\Entity
 * @ORM\Table(name="t_myuser")
 */
class MyUser extends BaseEntity // provides an id (pk)
{
    /**
     * @ORM\ManyToOne(targetEntity="Customer", inversedBy="user")
     * @ORM\JoinColumn(name="customer_no", referencedColumnName="customer_no", nullable=false)
     */
    public $customer;
}

/**
 * @ORM\Entity
 * @ORM\Table(name="t_customer")
 */
class Customer extends BaseEntity // provides an id (pk)
{
    /**
     * @ORM\Column(type="integer", unique=true, nullable=false)
     */
    public $customer_no;

    /**
     * @ORM\OneToMany(targetEntity="MyUser", mappedBy="customer")
     */
    public $user;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将MyUser实体与Customer实体持久化时,出现以下错误:

注意:未定义的索引:... \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Persisters \ …

symfony doctrine-orm symfony-2.1

5
推荐指数
1
解决办法
6094
查看次数

标签 统计

doctrine-orm ×1

symfony ×1

symfony-2.1 ×1