Как правильно сделать условие вывода кнопок для списка комментариев на разные модели типа Post и Event
Подскажите пожалуйста.
В личном кабинете пользователя есть список комментариев, у каждого комментария есть кнопка просмотра, т.е. при переходе из коммнтераия нужно попасть в пост или событие. Не могу понять как такое реализовать с помощью условий.
Controller: IndexController
В данном контроллере код с условием предложил ИИ.
class IndexController extends BaseController { public function index(User $user, Post $post, Event $event) { // $post = Post::find(1); // $event = Event::find(1); // dump($post->comments); // dump($post->comments()); // $comments = auth()->user()->comments()->paginate(10); $comments = auth()->user()->comments()->paginate(10); if ($comments->count() > 0) { foreach ($comments as $comment) { if ($comment->type == 'post') { $post = Post::find($comment->id); } else if ($comment->type == 'event') { $event = Event::find($comment->id); } } } else { // Нет комментариев } // $user = auth()->user(); // $comments = $user->comments()->paginate(10); $categories = Category::all(); return view('personal.comment.index',compact('comments', 'post', 'event')); } }
Blabe: commetn/index.blade.php
С таким условием
@if($event)
и
@elseif($post)
При переходе по маршруту выводиться только первый маршрут $event, второй тоже показывается и правильно казыает {slug} поста, но по первому маршруту event/{slug}, а необходимо чтобы при переходе от комментария к посту, переход осуществлялся именно к посту по маршруту post/{slug}. И происходит ошибка.
Attempt to read property "meta_title" on null
@foreach($comments as $comment)@endforeach {{$comment->id}} {{$comment->message}} {{date('d-m-Y')}} {{$comment->commentable->getTable()}} {{$comment->commentable->title}}
Заранее спасибо.