Получить комментируемые атрибуты класса, используя Baum в Laravel

я использую Laravel Commentable который использует Baum

Почтовая модель

class Post extends Model
{
use Commentable;
....

Моя модель имени пользователя пользователь

Структура таблицы комментариев:

введите описание изображения здесь

user_id хранит идентификатор пользователя, который прокомментировал, commentable_id хранит идентификатор сообщения, в котором был размещен комментарий.
Комментарии работают как положено.
Я могу вставлять комментарии, удалять комментарии.

Для отображения комментариев:

$comments = Comment::orderBy('id', 'desc')->get();

@foreach($comments as $comment)
{{ $comment->user->name }} : {{ $comment->body }}
@endforeach

Это дает мне имя и комментарий пользователя в представлении.

Вопрос:
Как получить атрибуты модели поста из комментария?

{{ $comment->post->slug }} <-это не работает

1

Решение

По коду из этого пакета, Вы должны использовать commentable связь. Тем не менее, нет никакого способа быть уверенным, что это будет Post модель, это может быть любая модель, которая является комментируемой.

Пример, который проверяет, действительно ли комментируемый объект post, и показывает слаг, если это так:

@if ($comment->commentable_type === \App\Post::class)
{{ $comment->commentable->slug }}
@endif
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector