每分钟允许用户输入一次

时间:2014-11-06 19:19:56

标签: mysql laravel laravel-4 eloquent query-builder

我无法让它发挥作用。

问题是用户每分钟只允许创建一次评论。就这么简单....

$checkLastComment = Comment::where('user_id', '=', 1)
        ->where('created_at', '<', 'CURDATE() + INTERVAL 1 MINUTE')->count();

2 个答案:

答案 0 :(得分:0)

你应该在这里使用:

$checkLastComment = Comment::where('user_id', '=', $id)
        ->where('created_at', '>=', 'DATE_SUB(NOW(), INTERVAL 1 MINUTE)')->first();

if ($checkLastComment) {
  // user not allowed to add new comment
}

答案 1 :(得分:-1)

代码中有3个问题:

  1. 您需要大于>,且不得少于<运营商
  2. 你需要原始状态
  3. 您无法使用curdate(),因为它的时间部分始终为00:00:00
  4. 所以这就是你想要的:

    $notAllowedToComment = Comment::where('user_id', '=', 1)
        ->where('created_at', '>', DB::raw('now() - INTERVAL 1 MINUTE'))->count();