我尝试将事件的开始日期与当前日期进行比较,以便仅显示下一个事件.这是我在eventRepository中的尝试:
public function findNext() {
$query = $this->createQuery();
$query->matching(
$query->greaterThanOrEqual('datum_beginn', new \DateTime('midnight'))
);
return $query->execute();
}
Run Code Online (Sandbox Code Playgroud)
但结果并不像预期的那样.这是结果查询:
SELECT events.* FROM events WHERE events.datum_beginn >= 1413669600 AND ...
Run Code Online (Sandbox Code Playgroud)
如您所见,DateTime被转换为时间戳.如何在查询中使用MySQL NOW()或正确使用DateTime?
bie*_*ior 15
使用日期的字符串值:
public function findNext() {
$query = $this->createQuery();
$date = new \DateTime('midnight');
$query->matching(
$query->greaterThanOrEqual('datum_beginn', $date->format('Y-m-d H:i:s'))
);
return $query->execute();
}
Run Code Online (Sandbox Code Playgroud)