具有不同价值观的持久主义结果
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;
我有一些复杂的事情想用一种方法完成。
在我的 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;