2016-08-20 118 views
0

好的,所以我有一个网站,允许用户发布类似Facebook和Twitter的内容。当用户提交帖子时,我想检查该用户的相同内容是否已在过去10小时内提交。如果是的话我想将用户重定向回,用类似“复制邮报”如何使用Laravel检查类似Twitter的重复帖子

我现在有这个来检查,如果用户已张贴在过去一小时超过10后:

//Only allow user to post 10 statuses each hour 
    $timestamp = time() - 36000; 
    $recentStatuses = Status::where('user_id', Auth::user()->id)->where('created_at', '>', $timestamp)->orWhere('created_at', '=', $timestamp)->skip(0)->take(10)->get(); 
    if ($recentStatuses->count() <= 9) { 
    //post content 
} 

现在我想要检查用户是否在过去10小时内提交了相同内容,类似于Facebook和Twitter如何防止发布相同内容以防止垃圾邮件。

+1

基本上,它可以通过在最后10小时检索用户的帖子来实现,并检查当前的帖子内容,他/她尝试后是一样的帖子 – wonyeouuu

回答

0

你可以做一些类似的东西:

$recentStatuses->each(function($item) use($request){ 
    if($item->comment == $request->input('comment')) 
    { 
     return false; 
    } 
}); 
相关问题