“关联是指反向场”和“映射与自身不一致”

时间:2018-10-20 07:12:43

标签: php symfony entity

我只有一个实体,并且与自我有关。 类别由自身关联,字段名称为父级。 当加载页面的映射错误显示在事件探查器中时。

/**
 * Category
 *
 * @ORM\Table(name="category")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\CategoryRepository")
 * @UniqueEntity("urlcode")
 */
class Category
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="Title", type="string", length=255)
     */
    private $title;

    /**
     * @var string
     *
     * @ORM\Column(name="urlcode", type="string", length=255)
     */
    private $urlcode;

    /**
     * @var string
     *
     * @ORM\Column(name="image", type="string", length=255)
     */
    private $image;

    /**
     * @var int
     *
     * @ORM\Column(name="digiid", type="integer", unique=true)
     */
    private $digiid;

    /**
     * @ORM\ManyToOne(targetEntity="Category", inversedBy="Category")
     * @ORM\JoinColumn(name="parent", referencedColumnName="id")
     */
    private $parent;



    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set title
     *
     * @param string $title
     *
     * @return Category
     */
    public function setTitle($title)
    {
        $this->title = $title;

        return $this;
    }

    /**
     * Get title
     *
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Set urlcode
     *
     * @param string $urlcode
     *
     * @return Category
     */
    public function setUrlcode($urlcode)
    {
        $this->urlcode = $urlcode;

        return $this;
    }

    /**
     * Get urlcode
     *
     * @return string
     */
    public function getUrlcode()
    {
        return $this->urlcode;
    }

    /**
     * Set image
     *
     * @param string $image
     *
     * @return Category
     */
    public function setImage($image)
    {
        $this->image = $image;

        return $this;
    }

    /**
     * Get image
     *
     * @return string
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Set digiid
     *
     * @param integer $digiid
     *
     * @return Category
     */
    public function setDigiid($digiid)
    {
        $this->digiid = $digiid;

        return $this;
    }

    /**
     * Get digiid
     *
     * @return integer
     */
    public function getDigiid()
    {
        return $this->digiid;
    }

    /**
     * Set parent
     *
     * @param \AdminBundle\Entity\Category $parent
     *
     * @return Category
     */
    public function setParent(\AdminBundle\Entity\Category $parent = null)
    {
        $this->parent = $parent;

        return $this;
    }

    /**
     * Get parent
     *
     * @return \AdminBundle\Entity\Category
     */
    public function getParent()
    {
        return $this->parent;
    }

    public function __toString()
    {
        return $this->title;
    }
}

分析器:

  

关联AdminBundle \ Entity \ Product#category指的是   反向字段AdminBundle \ Entity \ Category#Category不会   存在。

     

关联AdminBundle \ Entity \ Product#brand指的是倒数   边字段AdminBundle \ Entity \ Brand#Brand不存在。

     

映射AdminBundle \ Entity \ Product#link和   AdminBundle \ Entity \ Link#product彼此不一致。

     

关联AdminBundle \ Entity \ Category#parent指的是   反向字段AdminBundle \ Entity \ Category#Category不会   存在。

     

关联AdminBundle \ Entity \ Category#category指的是   拥有不属于的辅助字段AdminBundle \ Entity \ Category#Category   存在。

1 个答案:

答案 0 :(得分:1)

您的问题是由inversedBy="Category"引起的。该错误表明,没有Category::$Category属性,而实际上没有。

inversedBy参数用于定义关系的另一面,以创建双向关系。

如果您希望从父级访问其子级,则可能是children

由于您没有此参数,因此只需删除此参数即可。而且看起来您在其他实体中也错误地使用了此参数。

如果您想了解有关如何在Doctrine ORM中定义关系的更多信息,请查看documentation