2014-02-19 46 views
0

我是新來的symfony,我卡在刪除選項,我寫了一個查詢工作正常,但我需要刪除同一記錄在不同的表也(相同記錄我有2個表)如何在symfony2中使用查詢刪除兩個表中的記錄

我控制器

public function deleteAction(Request $request){ 
    $deleteQuery = $this->getDoctrine() 
    ->getManager() 
    ->createQueryBuilder('d') 
    ->delete('TcPlayerBundle:TcTracks', 'd') 
    ->where('d.id = ' . $request->get('id'))->getQuery(); 
    $deleted = $deleteQuery->getResult(); 

    $deleted->flush(); 
    return $this->render('TcPlayerBundle:Default:all.html.twig',array(
      'tracks' => $tracks 
    )); 
} 

此查詢是針對單個表工作正常,怎麼辦與另一臺 TcprofileBundle內連接:TcWall並在該表中的ID是related_id。請幫我解決,謝謝

回答

0

做到這一點的方法:

$em = $this->getDoctrine()->getManager(); 
$tcTrack = $em->getRepository('TcPlayerBundle:TcTracks')->find($request->get('id')); 
$em->remove($tcTrack); 
$em->flush(); 
+0

如果我這樣做與刪除功能()意味着它不會在兩個表中刪除,我需要調用回調函數到另一個表,所以因爲我去查詢innerjoint刪除,如果我刪除在一個表中自動記錄在另一個表中應該刪除 – harshamullangi

+0

只需調用函數'findBy'(你會提供參數,像'array('track_id'=> $ id))'用於存儲和刪除每一個。 – rodrigorigotti

相關問題