2016-06-10 44 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系統通過重新加載變量來獲得新結果