我正在尝试使用 Laravel 的资源和集合来构建一个小型 API。
我想恢复该类别的所有帖子
我与模型的关系:
/*
|--------------------------------------------------------------------------
| RELATIONS
|--------------------------------------------------------------------------
*/
public function posts()
{
return $this->belongsToMany(Post::class, 'post_category');
}
类别控制器:
public function index()
{
$categories = Category::all();
return (new CategoryCollection(CategoryResource::collection($categories)));
}
我的分类资源:
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'slug' => $this->slug
];
}
我的分类收藏
public function toArray($request)
{
return [
'data' => $this->collection,
'posts' => PostResource::collection($this->whenLoaded('posts')),
];
}
我尝试先恢复某个类别的帖子。当我执行以下命令时,出现错误:Method ... relationLoaded 不存在
'posts' => PostResource::collection($this->whenLoaded('posts'))
我不明白什么?
我还创建了两个 PostCollection 和 PostResource 文件(基本,我没有修改它们)
public function toArray($request)
{
return parent::toArray($request);
}
慕仙森
FFIVE