首页 > 解决方案 > 试图在评论 Laravel 系统中获取非对象的属性“名称”

问题描述

在页面上显示评论时,我试图让作者的用户名显示他们写的附近评论。我有一个错误“试图获取非对象的属性'名称'”


控制器:

public function index(Site $site)
    {

        $comments=Comments::where('siteId', $site->id)->get();
        return view('admin.comments.show', compact('comments'));
    }

看法:

    @foreach($comments as $comment)

{{$comment->user->name}}

    @endforeach

用户型号:

public function comments()
  {
      return $this->hasMany(Comments::class);
  }

评论型号:

public function comments()
    {
        return $this->belongsTo(User::class);
    }

我想使用关系。谢谢你的帮助!:)

标签: phplaravel

解决方案


Comment将模型中的关系更改为:

public function user()
    {
        return $this->belongsTo(User::class);
    }

那应该行得通。


推荐阅读