使用doctrine和querybuilder,在两个日期

时间:2016-12-20 09:54:47

标签: symfony doctrine

我想使用queryBuilder检索一些数据,条件是在父表上使用datetime字段并将其传递给where条件,子表有两个日期的开始和结束,整个条件是选择父行依赖于子表中两个日期之间的日期 代码是:

$qb->select('parent,child')
                ->from($this->class, 'parent')
                ->innerJoin('parent.childTable', 'child')
                //other join
                // and where


                //CONDITION  -> startdate <= $date AND enddate >= $date
                $betweenDates = $qb->expr()->andX( 
                    $qb->expr()->gt("child.dateStart", "parent.datetime"),
                    $qb->expr()->lt("child.dateEnd", "parent.datetime")
                );

                //CONDITION 4 -> enddate == NULL
                $endDateNull = $qb->expr()->isNull( 'child.dateEnd');
                $dates = $qb->expr()->orX($betweenDates, $endDateNull);

                 // take care of dateEnd if it's null
                $qb->expr()->andX($dates);

问题是哪里条件不起作用而且选择仍然给我孩子不尊重日期条件 任何帮助将不胜感激。

0 个答案:

没有答案