Wpis z mikrobloga

@tylko_na_dole:

Dzięki. Uzupełniłem o dane czasu:

private function getLast10minutesRecords()
{

$now = (new DateTime())->setTimestamp(time());
$nowMinus10MinutesInterval = (new DateInterval("PT10M"));
$nowMinus10MinutesInterval->invert = 1;
$nowMinus10Minutes = $now->add($nowMinus10MinutesInterval);

$qb = $this->createQueryBuilder('v');

return $qb->where($qb->expr()->between('v.createdAt', ':from', ':to'))
->setParameters([
'from' => $now,
'to' => $nowMinus10Minutes,
])->getQuery()->getResult();
}
@januzi: wykona się dokładnie raz, wygeneruje datę od 'teraz' minus 10 minut, a następnie dodając to do warunku WHERE porównując pole zawierające datetime do wygenerowanego w ten sposób datetime silnik przeleci w standardowy sposób filtrowaniem.

Także nie rozumiem pytania, bo przykład nie odnosi się do obliczania daty per row, tylko do szybkiego wygenerowania daty-10 minut zamiast pisania 10 linijek bezsensownego kodu.

Jak są jeszcze jakieś pytania to: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-add