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
但这也不管用:(
我做错了什么?
我会提出以下问题排查建议;
启用查询日志记录,获取查询结果并在您的数据库应用程序中尝试运行,篡改它直到获得正确的结果
尝试使用格式函数
将碳作为日期时间戳输出
验证数据库中的数据是否正确
如果所有其他方法都失败了,请使用 xdebug 单步执行它并使用评估器
我不认为这是在模型上设置日期 属性 的问题,因为我很确定已经处理过了,但也可能值得检查模型以确保存在那里没什么奇怪的。
这可能看起来像双贴,但事实并非如此。 我试图查看用户是否在过去 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
但这也不管用:(
我做错了什么?
我会提出以下问题排查建议;
启用查询日志记录,获取查询结果并在您的数据库应用程序中尝试运行,篡改它直到获得正确的结果
尝试使用格式函数
将碳作为日期时间戳输出
验证数据库中的数据是否正确
如果所有其他方法都失败了,请使用 xdebug 单步执行它并使用评估器
我不认为这是在模型上设置日期 属性 的问题,因为我很确定已经处理过了,但也可能值得检查模型以确保存在那里没什么奇怪的。