错误 Laravel 5.8 Eloquent - 试图获取非对象的 属性 'name'

Error Laravel 5.8 Eloquent - Trying to get property 'name' of non-object

我在 Laravel 5.8 工作,遇到一个奇怪的错误。我想在博客详细信息页面上显示博客作者姓名,但出现错误 正在尝试获取 属性 'name'非对象

我的亲戚:

Blogs > Author

class Blog extends Model
{

    public function author_name(){
        return $this->belongsTo(Admin::class);
    }

}

管理员模型

class Admin extends Authenticatable
{

    public function blogs() {
        return $this->hasMany('App\Blog');
    }

}

detail.blade.php

{{ $blog->author_name->name }}

P.S :如果我 dd($blog->author_name) 它给出了正确的作者 ID 但是当我调用 ->name object 时。它给出了上述错误

为关系添加键。

class Blog extends Model
{
public function author_name()
{
    return $this->belongsTo('App\Admin','blog_id','blog_id'); //add your local key and foreign key here
}
}

class Admin extends Authenticatable
{
public function blogs() {
    return $this->hasMany('App\Blog','blog_id','blog_id'); //add your local key and foreign key here
}
}

您可以使用

检索数据
$blog = Blog::where('blog_id',1);
if(isset($blog->author_name))
  echo $blog->author_name->name;