Cakephp 3 find() 在 2 小时内

Cakephp 3 find() within 2 hours

这很简单,但我在手册中找不到。我在蛋糕 2 中做了这个,但找不到如何使用新的 ORM。我正在做一个基本的用户更改密码令牌。我想检查用户是否在最近 2 小时内被修改

 $query = $this->Users->find('all', [
        'conditions' => ['token' => $token],
        'limit' => 1,
        'where'=> ['modified' =>  /*new Datetime(-2 hours )*/  ]
    ]);

谢谢

您提供的代码段似乎有几个问题。 DateTime-2 hours 参数不在引号内并且 modified 没有比较运算符。此外,您正在为 find() 使用一组选项,这意味着所有 WHERE 参数都应该在 conditions 键内,而不是在单独的 where 键中。

这应该有效:

$query = $this->Users->find('all', [
    'conditions' => [
        'token' => $token,
        'modified >' =>  new \DateTime('-2 hours'),
    ],
    'limit' => 1,
]);