2016-11-19 3 views
-1

このクエリに問題があります。私はatributeする$ categoriaを持つ唯一の車を取得したいと私はこれを実行します。Doctrineとの問題

public function listcategoriaAction($categoria) 
    { 
     $posts = $this->get('doctrine')->getManager()->createQueryBuilder()->select('p')->from('CarsCarsBundle:Post', 'p')->where('p.categoria = :categoria')->setParameter('categoria', $categoria)->getQuery()->getResult(); 

     return $this->render('CarsCarsBundle:Cars:list.html.twig', array('posts' => $posts)); 
    } 

しかし、私は空の配列である受け取るを。任意のヒントが評価されます

+0

$ categoria引数がCategoriaオブジェクトか外部キー値(つまりカテゴリのID)かどうかを確認できますか? –

答えて

-1

まず、私はこのコードがコントローラにあると仮定します。代わりにuse repositoriesというクエリをコントローラに置かないようにすることを強くお勧めします。

このエラーは、以前にパラメータで受け取ったカテゴリIDを水分補給しなかったために起こったと思います。

$dm = $this->get('doctrine')->getManager(); 

//This gets the object from db 
$category = $dm->getRepository('CarsCarsBundle:Category')->findOneById($categoria); 

if ($category !== null) { 

    $posts = $dm->getRepository('CarsCarsBundle:Post')->findOneByCategory($category); 

} else { 

    //The id received is not on the db. 
} 
関連する問題