使用 Doctrine Query builder return 基于一周中特定日期的日期

Using Doctrine Query builder to return dates based on a specific day of the week

我有一个包含日期列表的 table,我想重新运行 n 个大于 x-date[=24= 的日期] 那是 星期二 .

列表如下:

2015:07:31 - Fri
2015:08:04 - Tue
2015:08:07 - Fri
2015:08:11 - Tue
2015:08:14 - Fri
2015:08:18 - Tue
2015:08:21 - Fri
2015:08:25 - Tue
2015:08:28 - Fri
2015:09:01 - Tue
2015:09:04 - Fri
2015:09:08 - Tue
2015:09:11 - Fri
2015:09:15 - Tue
2015:09:18 - Fri
2015:09:22 - Tue
2015:09:25 - Fri
2015:09:29 - Tue
2015:10:02 - Fri
2015:10:06 - Tue

return上面列表的代码是:

$days  = $this->repository->createQueryBuilder('u')
        ->where( 'u.someId = :someObject' )
        ->andHaving( 'u.thisDate >= :x-date')
        ->setMaxResults($n)
        ->setParameter('x-date',$x-date)
        ->setParameter('someObject',$someObject)
        ->getQuery()

我需要在查询中更新什么以 return 仅属于星期二的日期?

我的要求比我最初预期的要复杂得多。我选择不使用扩展,因为长 运行.

几乎没有什么好处

我的步骤如下:

  1. 从表中获取数据
  2. 删除不需要的行
  3. 验证每一行
  4. Return最终结果

幸运的是,这不是一次常规调用,因此不会对最终用户产生明显影响。但是,当我有一些想法可以帮助我考虑更好的设计方法时,我已将代码指定为重构。