具有不同价值观的持久主义结果

Persisting doctrine results with different values

我有一些复杂的事情想用一种方法完成。

在我的 Symfony 项目中,我正在检查当前日期时间字段是否是过去 X 天。 我在它所在的每个 table 行上将布尔字段坚持为 true。所以 createdDate 是 小于 X 天。

这部分工作正常。

我正在尝试做的是该方法是双向的。

我还想要如果 createdDate 是 大于 X 天。此外,要在每个 table 行上将布尔字段保持为 false

我的代码:

    $date = new \DateTime();
    $date->modify('-7 days');

    $users = $this->userRepo->createQueryBuilder('u')
        ->where('u.createdDate < :date')
        ->setParameter(':date', $date)
        ->getQuery()
        ->getResult();

    foreach ($users as $user) {
        $user->setExceeded(true);

        $this->entityManager->persist($user);
        $this->entityManager->flush();
    }

    return $users;

是否有任何可能的方法而不是单独的方法?

喜欢:

if() {

  ->andWhere('u.createdDate > :date')

   $user->setExceeded(false);
 }
$date = new \DateTime();
$date->modify('-7 days');
$users = $this->userRepo->findAll();

foreach ($users as $user) {
    $user->setExceeded($user->getCreatedDate() < $date);
}
$this->entityManager->flush();

return $users;