2016-06-10 3 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.

Таким образом, наблюдатель будет смотреть модель комментария, а в обработчике наблюдателя проверить сообщение и получить идентификатор пользователя и отправить уведомление или любой другой шаг, который вам нужно выполнить.

0

У вас есть два способа достичь своей цели.

1- решение Observers в laravel, которое позволит автоматическое выполнение вашего скрипта и получение уведомлений об изменениях.

2 с использованием системы AJAX для получения новых результатов путем перегрузки переменных

Смежные вопросы