如何在一个getRepository中获取许多实体的存储库

时间:2015-05-04 13:46:10

标签: symfony repository entity

我试过这个但是它不会工作它只是执行第一个实体

$resultat = $con->getRepository("PFESiivtBundle:Categorie","PFESiivtBundle:Evenement",
"PFESiivtBundle:Projet")->findBy(array('idPublication' =>$respub),array('id'=>'DESC') );

1 个答案:

答案 0 :(得分:2)

你的方法不起作用,你应该创建一个Repository,然后加入你的表,

class CategorieRepository extends EntityRepository
{
   public function getCategorieRelatedDataByIdAndIdPublication($idPublication)
   {
       $qb = $this->entityManager->createQueryBuilder();
       $qb->select('c', 'e', 'p')
        ->from('PFESiivtBundle:Categorie', 'c')
        ->leftJoin('c.eveniment', 'e')
        ->leftJoin('c.project', 'p')
        ->where('c.id = :id')
        ->andWhere('c.idPublication = :id_publication')
        ->setParameter('id_publication', $idPublication)

        return $qb->getQuery()->getResult();
   }
} 

连接将取决于您的映射,没有映射结构我无法为您提供正确的代码。

然后在Controller中,您将使用以下内容:

$resultat = $con->getRepository("PFESiivtBundle:Categorie")-> getCategorieRelatedDataByIdAndIdPublication($idPublication);