尝试阻止用户过快发布评论,因此计划使用15秒的时间间隔。
此查询无法查看是否在过去15秒内发表了评论。我做错了什么?
表:
id | comment | created_at |
==============================================
2 | blah casd | 2013-06-20 18:14:17 |
然而,我无法与Eloquent
合作 //are they commenting too fast?
$protection = DB::table('comments')
->where('user_id', '=', $userid)
->where('created_at', '<', '(NOW(), INTERVAL 15 SECOND)')
->get();
if(!empty($protection)) {
return Redirect::back()->with_message('Please wait 15 seconds between comments.', 'error');
}
答案 0 :(得分:13)
尝试替换
->where('created_at', '<', '(NOW(), INTERVAL 15 SECOND)')
与
->where('created_at', '<', DB::raw('NOW() + INTERVAL 15 SECOND)')
我希望这可以提供一些帮助。
答案 1 :(得分:3)
逗号不正确。你应该添加间隔:
NOW() + INTERVAL 15 SECOND
或减去,如果您将其更改为>
比较...