Getter 和 ManyToOne 关系不起作用
Getter and ManyToOne relationship doesn't work
我正在做一个 symfony 项目,我有一个实体(这里称为 ent),它有几个属性,其中一个是 ManyToOne 关系:
/**
* @ORM\ManyToOne(targetEntity="RB\ABundle\Entity\Somethingelse", inversedBy="ent")
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private $smthg
现在在我的控制器中我有一个 getter :
public function getAction($smthg)
{
$em = $this->getDoctrine()->getManager();
$ents = $em->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}
我的 getter 工作得很好,除了我没有得到 ManyToOne 关系的所有属性
我试过类似的东西:
public function getAction($smthg)
{
$em = $this->getDoctrine()->getManager();
$ents = $em->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->select('p')
->join('p.smthg','pr')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}
但它不显示 'smthg' 的数据库中的内容。
PS:在数据库中我有正确的信息。他们在那里,我就是找不到他们。
感谢您的帮助
试试这个:
public function getAction($smthg)
{
$ents = $this->getDoctrine()->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->select('p', 'pr')
->join('p.smthg','pr')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}
我正在做一个 symfony 项目,我有一个实体(这里称为 ent),它有几个属性,其中一个是 ManyToOne 关系:
/**
* @ORM\ManyToOne(targetEntity="RB\ABundle\Entity\Somethingelse", inversedBy="ent")
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private $smthg
现在在我的控制器中我有一个 getter :
public function getAction($smthg)
{
$em = $this->getDoctrine()->getManager();
$ents = $em->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}
我的 getter 工作得很好,除了我没有得到 ManyToOne 关系的所有属性
我试过类似的东西:
public function getAction($smthg)
{
$em = $this->getDoctrine()->getManager();
$ents = $em->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->select('p')
->join('p.smthg','pr')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}
但它不显示 'smthg' 的数据库中的内容。
PS:在数据库中我有正确的信息。他们在那里,我就是找不到他们。
感谢您的帮助
试试这个:
public function getAction($smthg)
{
$ents = $this->getDoctrine()->getRepository('ABundle:Ent')
->createQueryBuilder('p')
->select('p', 'pr')
->join('p.smthg','pr')
->where('p.smthg = :smthg')
->setParameter('smthg', $smthg)
->getQuery()
->getArrayResult();
return new JsonResponse($ents);
}