好了,在经过多次搜索我怎么会犯错误之后,我现在不得不向社区提出这个问题,因为它仍然是一个谜。
我这里有两个表:解决方案和项目。一个解决方案可以拥有N个项目。一个项目也可以不附加任何解决方案。
这是Solution.php文件的一部分
/**
* Description of Solution
*
* @ORMEntity(repositoryClass="XProjectRepositorySolutionRepository")
* @ORMTable(name="solution")
* @ORMHasLifecycleCallbacks
*
* @author michel.strasser
*/
class Solution
{
/**
* @var int
* @ORMId
* @ORMColumn(type="bigint")
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* [...]
*/
/**
* @var DoctrineCommonCollectionsArrayCollection
* @ORMOneToMany(targetEntity="XProjectEntityProject", mappedBy="solution")
*/
private $projects;
/**
* [...]
*/
}
下面是Project.php文件的一部分:
<?php
namespace XProjectEntity;
use DoctrineORMMapping as ORM;
use DoctrineCommonCollectionsArrayCollection;
use DateTime;
/**
* Description of Project
*
* @ORMEntity(repositoryClass="XProjectRepositoryProjectRepository")
* @ORMTable(name="project")
* @ORMHasLifecycleCallbacks
*
*/
class Project
{
/**
* @var int
* @ORMId
* @ORMColumn(type="bigint")
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var XProjectEntitySolution
* @ORMManyToOne(targetEntity="XProjectEntitySolution", inversedBy="projects")
* @ORMJoinColumn(name="solution", referencedColumnName="id", nullable=true, onDelete="SET NULL")
*/
private $solution;
}
我有以下错误:通知:未定义的索引:解决方案在[…]vendordoctrineormlib doctrineorm PersistersEntity basicentitypersistence .php第1768行
…当我试图访问$solution->getProjects()->toArray();
有什么建议吗?请。
发现Bug。
实际上没有bug,我不得不:
- 启动3个form:clear-cache-* doctrine命令
- 删除data/DoctrineModule/cache