1

ユーザーがコメントを投稿するのが早すぎるのを防ぐため、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'); 
    }
4

2 に答える 2

16

交換してみる

->where('created_at', '<', '(NOW(), INTERVAL 15 SECOND)')

->where('created_at', '<', DB::raw('NOW() + INTERVAL 15 SECOND)')

これが何かの助けになることを願っています。

于 2013-06-20T19:39:28.303 に答える
3

カンマが間違っています。間隔を追加する必要があります:

NOW() + INTERVAL 15 SECOND

または減算、>比較に変更すると...

于 2013-06-20T18:36:04.697 に答える