DQL查询没有返回我想要的内容

时间:2016-02-28 12:48:58

标签: mysql sql dql

我对SQL查询有点新意,我的项目遇到了问题。 实际上,这是我的DQL查询:

$queryBuilder = $this->getModelManager()->getEntityManager($this->getClass())->createQueryBuilder();

$queryBuilder->select('p')
    ->from($this->getClass(), 'p');
if (!$this->isGranted('ROLE_SUPER_ADMIN')) {
    $queryBuilder->leftJoin('p.criteres', 'crit')
        ->leftJoin('crit.details', 'd')
        ->leftJoin('d.organes', 'o')
        ->leftJoin('o.atelier', 'a')
        ->where('a.country in (' . $this->getUserCountriesFormated().
            ') OR a.country IS NULL OR a IS NULL OR crit IS NULL OR d IS NULL OR o IS NULL');
}
$queryBuilder->orderby('p.name', 'ASC');

protocole to critere:很多很多 critere to detail:很多很多 详细到organe:很多很多 organe to atelier:多对一

实际上,所有条目都会上升,因为它们在4/5细节上有一个NULL细节。但是他们与一个国家的工作室有联系,所以我不想看到它们。我试过条件像(...)OR(d IS NULL和a.country IS NULL)没有成功。

对不起,如果我的问题看起来很明显,并提前感谢;)

0 个答案:

没有答案