Doctrine orm 如何使用';为空';对于教条2

Doctrine orm 如何使用';为空';对于教条2,doctrine-orm,Doctrine Orm,我有两张桌子,比如 教训 class Lesson { /** * @var integer * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * * @ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\EvalMutor", mappedBy="lesso

我有两张桌子,比如

教训

class Lesson
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 *
 * @ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\EvalMutor", mappedBy="lesson")
 */

private $evalM;
}
在EvalMutor中

class EvalMutor
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;


/**
 *
 * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\Lesson", inversedBy="evalM")
 * @ORM\JoinColumn(name="lesson", referencedColumnName="id")
 */

private $lesson;


/**
 * @ORM\Column(type="text",nullable=true)
 *
 */
private $comment;
}
有些课程的行有evalM,有些没有

我想拿起没有evalM的课程行

SELECT p FROM UserBundle:Lesson p Where p.evalM is null
不管它回来了

A single-valued association path expression to an inverse side is not supported in DQL queries. Use an explicit join instead.   

我该怎么解决这个问题呢?

首先,我想这个关系是不正确的。当您应该放置
OneToMany
时,您已经放置了
onetomone
关系。我说的是
$evalM
的注释

有关更多信息,请查看