Есть модель для поиска AdvertSearch которая возвращает ActiveDataProvider:
Код: Выделить всё
/* app/models/AdvertSearch.php */
$query = Advert::find();
$query->joinWith(['advertLinks', 'advertPhones', 'advertPhotos'])
$dataProvider = new ActiveDataProvider([
'query' => $query,
'totalCount' => $query->count('advert.id')
]);
return $dataProvider;
Код: Выделить всё
/* app/views/advert/index.php */
$models = $dataProvider->getModels()
Код: Выделить всё
/* var_dump($dataProvider->getPagination() */
object(yii\data\Pagination)[151]
public 'pageParam' => string 'page' (length=4)
public 'pageSizeParam' => string 'per-page' (length=8)
public 'forcePageParam' => boolean true
public 'route' => null
public 'params' => null
public 'urlManager' => null
public 'validatePage' => boolean true
public 'totalCount' => string '650' (length=3)
public 'defaultPageSize' => int 20
public 'pageSizeLimit' =>
array (size=2)
0 => int 1
1 => int 50
private '_pageSize' => int 20
private '_page' => int 0
зы Здесь задавался подобный вопрос, но решать проблему подзапросами как-то не по дзэну.
зыы Проблема наблюдается только если джойнить связи hasMany().