1

こんにちは、5 つのテーブルから情報を要求する必要がある複雑なクエリを作成し、それを company.name でグループ化して、branches.idMunicipality でフィルタを適用したいと考えています。私のクエリは次のとおりです。

$em = $this->getDoctrine()->getManager();
    $companies = $em->createQuery('
        SELECT categories,
                subcategories,
                companies, 
                branches, 
                sales 
                FROM AspersoftDirectorioBundle:CompanyCategory categories 
                JOIN categories.subcategories subcategories 
                JOIN subcategories.companies companies
                JOIN companies.branches branches
                LEFT JOIN companies.sales sales
                WHERE branches.idMunicipality = :idMunicipality
                GROUP BY companies.id
                ORDER BY categories.name ASC'
    )
            ->setParameter('idMunicipality' , "475")
            ->getResult();
    return $companies;

私の問題は次のとおりです。

  1. 私のDBはすべてのテーブルで双方向であり、27のDBクエリがあります(ページの読み込みは非常に低いです)
  2. グループ化は機能しません
  3. 私の意見では、4 または 5 の "for" を使用する必要があるため、ビューで値を取得するのは非常に困難です。

よろしくお願いいたします。

4

0 に答える 0