我是 symfony2 的新手,在某些部分卡住了,我在2个表中存在id
号的记录,我需要使用删除功能删除两个表中的记录< / p>
我尝试使用查询构建器,它在一个表中完美删除,但我需要使用该删除功能加入另一个表。
我的控制器
public function deleteAction(Request $request){
$deleteQuery = $this->getDoctrine()
->getManager()
->createQueryBuilder('d')
->delete('TcPlayerBundle:TcTracks', 'd','TcprofileBundle:TcWall','t')
->where('d.id = ' . $request->get('id'))
->innerJoin('t.id=' . $request->get('id'))
->getQuery();
$deleted = $deleteQuery->getResult();
$deleted->flush();
return $this->render('TcPlayerBundle:Default:all.html.twig',array(
'tracks' => $tracks
));
}
另一个表格中的id
为related_id
答案 0 :(得分:0)
尝试使用内部联接d.wall
是TcTracks
关系
$deleteQuery = $this->getDoctrine()
->getManager()
->createQueryBuilder('d')
->delete('TcPlayerBundle:TcTracks', 'd',)
->innerJoin('d.wall', 'w', 'WITH', 'w.id = :wId')
->where('d.id = :dId')
->setParameter('wId', $request->get('id'))
->setParameter('dId', $request->get('id'))
->getQuery();
$deleted = $deleteQuery->getResult();
$deleted->flush();
return $this->render('TcPlayerBundle:Default:all.html.twig',array(
'tracks' => $tracks
));