2016-09-19 3 views
0

私はSymfony2で医師との間に標準的な一対多関係を作りました。親は広告で、子は画像です。これは正常に動作します。今私は子供の1つを取得したいので、私はそれを削除/変更することができます。symfonyのidによって医師が1対多の子を見つけられません

私は次のコードでその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で画像を検索したい場合は、それを行うことがより簡単であるべき:

$ idはイメージです
$em = $this->getDoctrine()->getManager(); 
$image = ->getRepository('MyBundle:Image')->find($id); 

あなたはできませんか?

関連する問題