我试图在我的文章中回显用户的名字,我得到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'];
}
架构
表用户
表新闻
调节器
public function showArticle($slug)
{
$article = News::where('slug', $slug)->firstOrFail();
return view('article', compact('article'));
}
刀
{{ $article->postedBy->name }}
当我尝试删除刀片中的名称{{$article-> postedBy}}时,它会输出ID,但是当我尝试添加 – >名称时,它会说要尝试获取非对象的属性但我有一个我的表中的字段名称和用户模型.我错过了什么吗?
解决方法:
您的查询是返回数组还是对象?如果将其转储出来,您可能会发现它是一个数组,您只需要一个数组访问([])而不是对象访问( – >).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。