У меня есть конечная точка API
users/{user}
, теперь в пользовательском ресурсе, я хочу вернуть
public function toArray($request)
{
// return parent::toArray($request);
return [
'id' => $this->id,
'name' => $this->name,
// 'comments' => $this->post->comments->keyBy('post_id')
'comments' => new CommentCollection($this->post->comments->keyBy->post_id)
];
}
CommentCollection class
public function toArray($request)
{
// return parent::toArray($request);
return [
'data' => $this->collection->transform(function($comment){
return [
'id' => $comment->id,
'comment' => $comment->comment,
];
}),
];
}
, но результатне будет включать post_id
как ключ, как я могу заставить его возвращать коллекцию комментариев, имеющую ключ post_id
?
Обновление
use App\models\Post;
use App\Http\Resources\Postas PostResource;
Route::get('/posts', function () {
return PostResource::collection(Post::all()->keyBy->slug);
});
Это работаетправильно, но если я буду использовать коллекцию постов внутри ресурса пользователя в качестве отношения, это не работает! и это мое требование в коллекции комментариев.