Привет, ребята, я использую 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 ответа только для первого сообщения, но для других сообщений я получаю только пустой ключ комментариев, поэтому в результате нет ответов
надеюсь, вы получите мой вопрос, пожалуйста, помогите извинитеЗа большой вопрос Заранее спасибо.