[英]Error Laravel 5.8 Eloquent - Trying to get property 'name' of non-object
I am working in Laravel 5.8 and struggling with a strange error.. I want to display Blog author name on blog detail page but it gives me error Trying to get property 'name' of non-object我在 Laravel 5.8 中工作并且遇到一个奇怪的错误。我想在博客详细信息页面上显示博客作者姓名,但它给了我错误尝试获取非对象的属性“名称”
My Relation :我的关系:
Blogs > Author博客 > 作者
class Blog extends Model
{
public function author_name(){
return $this->belongsTo(Admin::class);
}
}
Admin Model管理模式
class Admin extends Authenticatable
{
public function blogs() {
return $this->hasMany('App\Blog');
}
}
detail.blade.php detail.blade.php
{{ $blog->author_name->name }}
PS : if I dd($blog->author_name)
it gives correct id of author but when i call ->name object
. PS:如果我dd($blog->author_name)
它给出了作者的正确 id 但当我调用->name object
。 it gives above error它给出了上述错误
Add keys to relationships.为关系添加键。
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
}
}
You can retrieve data by using您可以通过使用检索数据
$blog = Blog::where('blog_id',1);
if(isset($blog->author_name))
echo $blog->author_name->name;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.