【发布时间】: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