【问题标题】:Php Doctrine OneToMany error : Undefined index in BasicEntityPersister.phpPhp Doctrine OneToMany 错误:BasicEntityPersister.php 中的未定义索引
【发布时间】:2017-03-02 07:22:43
【问题描述】:

您好,在过去多次搜索我应该如何犯错误之后,我现在必须向社区提出这个问题,因为它仍然是一个谜。

我这里有两个表:解决方案和项目。 一个解决方案可以拥有 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;
}

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

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

有什么建议吗?请。

【问题讨论】:

  • 我有一个非常相似的问题。原来这是 mappedBy 列中的一个错字。

标签: php orm doctrine-orm annotations


【解决方案1】:

发现错误。

事实上没有错误,我不得不:

  • 启动 3 orm:clear-cache-* 学说命令
  • 删除data/DoctrineModule/cache的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-21
    • 2016-08-17
    • 2012-05-23
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2019-04-03
    相关资源
    最近更新 更多