在 Laravel 中使用 Baum 获取可评论的 class 属性

Get commentable class attributes using Baum in Laravel

我正在使用 Laravel Commentable that uses Baum

Post型号

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

我的用户模型名称是User

评论table结构:

user_id 存储发表评论的用户的用户 ID,commentable_id 存储评论所在 post 的 post id。 评论按预期工作。 我可以插入评论,删除评论。

要显示评论:

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

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

这为我提供了视图中用户的姓名和评论。

问题: 如何从评论中获取 post 模型属性?

{{ $comment->post->slug }} <-这行不通

Per the code from this package,你必须使用commentable关系。但是,无法确定这将是一个 Post 模型,这可以是任何可评论的模型。

一个示例,检查可评论是否实际上是一个 post 对象,如果是则显示 slug:

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