2016-06-10 33 views
0

我对laravel相当陌生,我希望在我的项目中实现一个系统,当用户在其中一个帖子发表新评论时“警告”用户。Laravel不断检查数组中是否有新项目

我目前查询登录用户的帖子上的所有评论,并将所有内容放入数组中,并将其发送到我的视图。现在我的目标是在这个数组中有一个新项目时创建一个警告图标或其他东西。

有没有一个简单的方法来做到这一点与一些laravel帮手功能或什么?我似乎无法在laravel文档中找到任何内容。

这是甚至正确的方法来解决这个问题吗?

这里是我的代码:

$uid = Auth::user()->id; 
$projects = User::find($uid)->projects; 
//comments 
if (!empty($projects)) { 
      foreach ($projects as $project) { 
        $comments_collection[] = $project->comments; 
       } 
      } 

      if (!empty($comments_collection)) { 
       $comments = array_collapse($comments_collection); 

       foreach($comments as $com) 
       { 
        if ($com->from_user != Auth::user()->id) { 
         $ofdate = $com->created_at; 
         $commentdate = date("d M", strtotime($ofdate)); 
         $comarr[] = array(
              'date' => $ofdate, 
              $commentdate,User::find($com->from_user)->name, 
              User::find($com->from_user)->email, 
              Project::find($com->on_projects)->title, 
              $com->on_projects, 
              $com->body, 
              Project::find($com->on_projects)->file_name, 
              User::find($com->from_user)->file_name 
             ); 
        }  
       } 
} else { 
       $comarr = ""; 
} 

如果任何人都可以把我在正确的方式达到我的目标,我会非常感激! :)提前

回答

0

感谢你所寻找的是一个Observer

因此,观察者将观察评论模型,并在观察者处理程序中检查帖子并获取用户ID并发送通知或任何其他需要执行的步骤。

0

您有两种方法可以实现您的目标。

1-解决方案Observers laravel,这将允许自动执行您的脚本并获取更改通知。

2-通过使用AJAX系统通过重新加载变量来获得新结果

相关问题