Laravel eloquent 记录晚于 5 分钟

Laravel eloquent recors newer then 5 minutes

这可能看起来像双贴,但事实并非如此。 我试图查看用户是否在过去 5 分钟内发布了主题,我尝试了百万个代码来检查但不知何故我的代码总是计数 1 个或更多。

这是我目前的解决方案:

public function allowedToPostTopic() {
    $count = Topic::where([
        ['user_id', '=', $this->id],
        ['created_at', '>', \Carbon\Carbon::now()->subMinutes($this->role->topic_delay)]
    ])->count();

    if ($count == 0)
        return true;

    return false;
}

$this->role->topic_delay = 5 我肯定知道(也用 var_dumb 测试过)

我尝试在 < 中更改 > 因为它让我感到困惑,我尝试了很多其他方法,例如:

 NOW() - INTERVAL 5 MINUTE

但这也不管用:(

我做错了什么?

我会提出以下问题排查建议;

  1. 启用查询日志记录,获取查询结果并在您的数据库应用程序中尝试运行,篡改它直到获得正确的结果

  2. 尝试使用格式函数

  3. 将碳作为日期时间戳输出
  4. 验证数据库中的数据是否正确

  5. 如果所有其他方法都失败了,请使用 xdebug 单步执行它并使用评估器

我不认为这是在模型上设置日期 属性 的问题,因为我很确定已经处理过了,但也可能值得检查模型以确保存在那里没什么奇怪的。