こんにちは、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;
私の問題は次のとおりです。
- 私のDBはすべてのテーブルで双方向であり、27のDBクエリがあります(ページの読み込みは非常に低いです)
- グループ化は機能しません
- 私の意見では、4 または 5 の "for" を使用する必要があるため、ビューで値を取得するのは非常に困難です。
よろしくお願いいたします。