То же самое касается ответов.
т, ребята, я использую Laravel 5.6 У меня есть три таблицы в базе сообщений, комментариев и ответов и три модели Post, Comment, Reply
отношения следующие: один пост имеет много комментариев, а один комментарий имеет много ответов. Я создал маршрут, который при попадании вернет некоторые данные, однако я хочу, чтобы эти данные были определенным образом, прочитайте этот пример:
Допустим, у меня есть 6 постов в моей базе данных, и у каждого поста есть 6 комментариев, также у каждого комментария есть 6 ответов. Я хочу вернуть только первые 3 поста вместе с первыми 3 комментариями для каждого поста и первые 3 ответа для каждого комментария.
//this is a function inside a controller
//and for sure I have make sure to make use of the models namespaces
public function test(){
$posts = Post::with(['comments' => function($data){
return $data->take(3);
},
'comments.replies' => function($data){
return $data->take(3);
}])->paginate(3);
//returning the posts
return $posts
}
Этот способ работает, он возвращает первые 3 поста и возвращает первые 3 комментария и первые 3 ответа только для первого поста, но для других постов я получаю только пустой ключ комментариев, поэтому в результате ответов нет
надеюсь, вы получите мой вопрос, пожалуйста, помогите извините за большой вопрос Заранее спасибо.