Как в Yii2 в RESTfull вывести список постов с 5 комментариями к каждому (если они есть)?

Есть 2 таблицы в базе данных Post и Comment. Связанные через один ко многим. Нужно при вызове actionIndex в контроллере вывести все посты но с добавленными в ответ комментариями к каждому посту. количество комментариев при этом нужно ограничить (например 5). Как это сделать?

public function actionIndex(){

$posts = Post::find()->joinWith('comment', true)->asArray()->All();
    
return $posts;
}

Выводит почти то что нужно, но со всеми комментариями к каждому посту (нужно ограничить 5)


Ответы (1 шт):

Автор решения: Shokhaa
$posts = Post::find()->with(['comment' => function($query){
$query->limit(5)->orderBy(['id' => SORT_DESC]);
}])->asArray()->All();
→ Ссылка