пометить идентификатор уведомления как прочитанный и одновременно перейти к URL в laravel - PullRequest
0 голосов
/ 20 октября 2019

Я просто следую инструкциям в уведомлениях laravel.

Я уже сделал отметку только для конкретного уведомления, но я понимаю, что ссылка имеет значение URL.

вот мое выпадающее меню enter image description here

<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">

  @if(auth()->user()->unreadnotifications->count())
    <span class="dropdown-item dropdown-header"><a href="{{ route('markRead') }}">Mark all as read</a></span>         
    <div class="dropdown-divider"></div>
      @foreach (auth()->user()->notifications as $notification)
        <a href="{{$notification->data['url']}}" class="dropdown-item">
          <i class="fas fa-envelope mr-2">{{$notification->data['title']}}</i>  <span class="float-right text-muted text-sm">3 mins</span>
        </a>
      @endforeach         
    <div class="dropdown-divider"></div>
    <span class="dropdown-item dropdown-header"><a href="{{ route('deleteNotif') }}">Delete all</a></span>
  @else
    <span class="float-right text-muted text-sm">No Notification</span>
  @endif
</div>

Вот моя функция уведомлений

public function toDatabase($notifiable)
{
    return [
        'user_id' => $this->user->id,
        'user_name' => $this->user->name,
        'title' => 'You have new loan application from '.$this->user->name,
        'url' => '/loan/loan-application/loan/view/'.$this->user->id
    ];
}

Маршрут

Route::get('markAsRead',function(){
    // auth()->user()->unreadNotifications->markAsRead();

    // Mark specific notification 
    $id = auth()->user()->unreadNotifications[0]->id;
    auth()->user()->unreadNotifications->where('id', $id)->markAsRead();

    return redirect()->back();
})->name('markRead');

как сделать эту ссылку помеченной как прочитанную и одновременно перейти к значению URL?

Спасибо!

...