2016-09-19 39 views
0

我在Symfony2中與doctorine建立了一種標準的一對多關係。父母是一個廣告,孩子是圖像。這工作正常。現在我想得到一個孩子的,所以我可以刪除/改變它。Doctorine一對多孩子在Symfony中找不到它的ID

我想通過ID用下面的代碼來獲取子:

 $image = $this->getDoctrine() 
     ->getRepository('MyBundle:Image') 
     ->findOneBy(
      array('id' => $id) 
     ); 

只不過它沒有返回。如果我刪除與其父母的關聯,則會找到具有相同代碼的關聯。

怎麼可能找到孩子?或者只有它的父母纔有可能?

+0

它應該工作,可能是你的代碼有問題。沒有任何額外的細節,它不可能幫助你。考慮用實體定義等更新你的問題。 – Wilt

+0

你的正確,代碼的作品。問題在廣告實體的定義中是一個完全不同的問題。 – Tom

回答

0

也許DQL查詢可以切斷繁文?節?

$entityManager = $this->getDoctrine()->getManager(); 
    $entityManager->createQuery('SELECT i FROM MyBundle:Image i WHERE id = :id') 
     ->setParameter('id', $id) 
     ->getResult(); 
0

嗯,也許我不理解好,但如果你想獲取其ID的圖像,它應該是更簡單的事:

$em = $this->getDoctrine()->getManager(); 
$image = ->getRepository('MyBundle:Image')->find($id); 

其中$ id是圖像身份證,不是嗎?

相關問題