php – 试图获得非对象的属性 – Laravel 5

我试图在我的文章中回显用户的名字,我得到ErrorException:尝试获取非对象的属性.我的代码

楷模

1. News

    class News extends Model
    {
      public function postedBy()
      {
         return $this->belongsTo('App\User');
      }
      protected $table = 'news';
      protected $fillable = ['newsContent', 'newsTitle', 'postedBy'];
    }

2. User

    class User extends Model implements AuthenticatableContract,
                                AuthorizableContract,
                                CanResetPasswordContract
    {
        use Authenticatable, Authorizable, CanResetPassword;

        protected $table = 'users';

        protected $fillable = ['name', 'email', 'password'];

        protected $hidden = ['password', 'remember_token'];

    }

架构

用户

enter image description here

表新闻

enter image description here

调节器

public function showArticle($slug)
    {
        $article = News::where('slug', $slug)->firstOrFail();
        return view('article', compact('article'));
    }

{{ $article->postedBy->name }}

当我尝试删除刀片中的名称{{$article-> postedBy}}时,它会输出ID,但是当我尝试添加 – >名称时,它会说要尝试获取非对象的属性我有一个我的表中的字段名称用户模型.我错过了什么吗?

解决方法:

您的查询是返回数组还是对象?如果将其转储出来,您可能会发现它是一个数组,您只需要一个数组访问([])而不是对象访问( – >).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...