Php Doctrine OneToMany错误:BasicEntityPersister.php中未定义的索引

时间:2016-10-20 10:33:21

标签: php orm doctrine-orm annotations

在那里,经过多次搜索我应该如何犯错之后,我不得不向社区提出这个问题,因为它仍然是一个谜。

我这里有两个表:解决方案和项目。 解决方案可以拥有N个项目。一个项目也可以根本没有解决方案。

以下是Solution.php文件的一部分

/**
 * Description of Solution
 * 
 * @ORM\Entity(repositoryClass="X\Project\Repository\SolutionRepository")
 * @ORM\Table(name="solution")
 * @ORM\HasLifecycleCallbacks
 *
 * @author michel.strasser
 */

class Solution
{

    /**
     * @var int
     * @ORM\Id
     * @ORM\Column(type="bigint")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * [...]
     */

    /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     * @ORM\OneToMany(targetEntity="X\Project\Entity\Project", mappedBy="solution")
     */
    private $projects;

    /**
     * [...]
     */
}

以下是Project.php文件的一部分:

<?php

namespace X\Project\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use DateTime;

/**
 * Description of Project
 * 
 * @ORM\Entity(repositoryClass="X\Project\Repository\ProjectRepository")
 * @ORM\Table(name="project")
 * @ORM\HasLifecycleCallbacks
 *
 */

class Project
{

    /**
     * @var int
     * @ORM\Id
     * @ORM\Column(type="bigint")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var \X\Project\Entity\Solution
     * @ORM\ManyToOne(targetEntity="X\Project\Entity\Solution", inversedBy="projects")
     * @ORM\JoinColumn(name="solution", referencedColumnName="id", nullable=true, onDelete="SET NULL")
     */

    private $solution;
}

我收到以下错误: 注意:未定义的索引:第1768行的\ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Persisters \ Entity \ BasicEntityPersister.php中的解决方案

...当我尝试访问$ solution-&gt; getProjects() - &gt; toArray();

有什么建议吗?请。

1 个答案:

答案 0 :(得分:0)

找到错误。

事实上没有错误,我必须:

  • 启动3 orm:clear-cache- * doctrine命令
  • 删除数据/ DoctrineModule / cache
  • 的内容