Здравствуйте! Имеются две таблицы - album и photo, которые соединены по внешнему ключу и имеют связь "один ко многим". Задча в том, чтобы вывести альбомы с пагинацией, причем на обложку альбома должна выводиться последнее фото из этого альбома. На данном этапе возникла проблема с правильной формулировкой запроса и пагинацией.
public function actionGalleryall()
{
$this->layout = 'inner';
$query = Album::find()->joinWith('photo')->orderBy('id')->all();
// echo '<pre>';
// print_r($query);
// die();
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>3]);
$models = $query->offset($pages->offset)
->limit($pages->limit)
->all();
return $this->render('albumsall', [
'models' => $models,
'pages' => $pages,
]);
}
В этом коде возникает ошибка, ругается "__clone method called on non-object", в $query должен быть объект, а у меня благодаря "->all()" там вроде массив. Если же убрать "->all()", то не может найти поле из таблицы photo. Подскажите, пожалуйста, как правильно реализовать?