내가 오류를 작성해야하는 방법을 여러 번 검색 한 후에도 여전히 수수께끼이므로 커뮤니티에 질문해야합니다.Php Doctrine OneToMany 오류 : BasicEntityPersister.php의 정의되지 않은 색인
여기에는 솔루션과 프로젝트라는 두 개의 테이블이 있습니다. 솔루션은 N 개의 프로젝트를 소유 할 수 있습니다. 프로젝트를 전혀 솔루션에 연결할 수도 없습니다. 공지 사항 : : 나는 다음과 같은 오류가있어
<?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;
}
: 여기
는 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 파일에 포함 된 파일입니다 정의되지 않은 색인 : [...] \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Persisters \ Entity \ BasicEntityPersister.php의 온라인 1768에있는 해결책 :
... $ solution-> getProjects() -> toArray();에 액세스하려고 시도합니다.
의견이 있으십니까? 부디.