我无法显示具有manyToMany关系的帖子类别。我建立关系但无法显示它。
//这是我的帖子模型
public function getCategory(){
return $this->belongsToMany(Category::class,
'post_categories','id','post_id');
}
//这是我的控制器
public function Allindex(){
$posts=Post::all();
return view('allposts',compact('posts'));
}
///这是我的allposts刀片服务器
<div class="media-body">
<a href="/users" class="anchor-username"><h4 class="media-heading">{{$post->pivot['name']}}</h4></a>
<a href="/posts" class="anchor-time">{{$post->created_at}}</a>
</div>
答案 0 :(得分:1)
您在模型关系中传递了错误的参数。
public function getCategory(){
return $this->belongsToMany(Category::class,'post_categories','post_id','category_id');
}
现在您可以按以下方式访问它。
@foreach($post->getCategory as $category)
{{ $category->name }}
@endforeach
或
{{ $post->getCategory->pluck('name')->implode(',') }}
答案 1 :(得分:-1)
Laravel不会自动加载您的关系,您正在寻找的关键字是eager loading。
您可以像这样急于使用with
方法加载关系:
$posts = Post::with('getCategory')->get();