您好,我想创建一个复杂的查询,我需要来自 5 个表的请求信息,并按公司名称对其进行分组,并按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;
我的问题是:
- 我的数据库在所有表中都是双向的,然后我有 27 个数据库查询(页面负载非常低)
- 分组不起作用
- 在我看来,很难在视图中获取值,因为我需要使用 4 或 5 “for”
预先感谢您的帮助