【发布时间】:2016-05-06 19:21:21
【问题描述】:
您好,我正在尝试使用 Doctrine 在 Symfony 中进行左连接。 我已经尝试过这样做,但我的尝试失败了。 这是我要执行的 MySQL 代码。
SELECT alben.name,alben.alben_id
FROM alben
LEFT JOIN video
ON alben.alben_id =video.album
在实体“视频”中,我这样定义 $album。
/**
* @var \Contentuser
*
* @ORM\ManyToOne(targetEntity="Album")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="album", referencedColumnName="alben_id")
* })
*/
我在我的实体文件夹中创建了一个 VideoRepository。
$qm = $this->createQueryBuilder()
->select("alben.name,alben.alben_id")
->from("alben")
->leftJoin("video","video","alben.alben_id =video.album");
return $qm->getQuery()->getResult();
这是控制器部分:
$em=$this->getDoctrine()->getManager();
$videoRepo=$em->getRepository('AppBundle:Video');
$videos=$videoRepo->VideoLeftJoin();
我收到此错误 “未定义的方法'VideoLeftJoin'。方法名称必须以findBy或findOneBy开头!” 所以我尝试添加“findBy”,但没有成功。
提前致谢。
【问题讨论】:
标签: symfony doctrine-orm