【发布时间】:2016-09-03 12:03:32
【问题描述】:
有一个带有复合键的元素类。 当我运行 php app/console 学说:模式:验证 我收到以下错误
关联“parentElement”的连接列必须匹配到 目标实体的所有标识符列 'AgRecord\AppBundle\Entity\Element',但是 'id, parent_uuid' 是 不见了。
我遗漏了什么或如何正确描述这种关系?
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* Elements
*
* @ORM\Table(name="elements",uniqueConstraints={@ORM\UniqueConstraint(name="search_idx", columns={"uuid", "id", "parent_uuid"})})
* @ORM\Entity
*/
class Element
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", columnDefinition="INT AUTO_INCREMENT UNIQUE")
* @ORM\Id
*/
private $id;
/**
* @var guid
* @ORM\Id
* @ORM\Column(name="uuid", type="string", unique=true, nullable=false)
*/
private $uuid;
/**
* @var guid
* @ORM\Id
* @ORM\Column(name="parent_uuid", type="string")
*/
private $parentUUID;
/**
* @ORM\ManyToOne(targetEntity="Element", inversedBy="childElements")
* @ORM\JoinColumn(name="uuid", referencedColumnName="parent_uuid")
*/
private $parentElement;
/**
* @ORM\Id
* @ORM\OneToMany(targetEntity="Element", mappedBy="parentElement")
* @ORM\JoinColumn(name="uuid", referencedColumnName="element_uuid")
*/
private $childElements;
}
【问题讨论】:
-
这是您的最小可行代码示例吗?请清理与问题无关的代码混乱。
-
@QualityCatalyst 抱歉,已清理完毕。
标签: php symfony orm doctrine-orm