Yii2 проблема с пагинацией, GridView пагинация

310
26 августа 2017, 02:02

Добрый день. Без связки 2-х таблиц пагинация работает отлично, но с hasMany не работает.

Контроллер:

$users = User::find()->with('posts')->where(['email' => $_SESSION['auth']]);
$countQuery = clone $users;
$pages = new Pagination(['totalCount' => $countQuery->count(), 'defaultPageSize' => 3]);
$models = $users->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    $this->view->title = "Личный кабинет";
    return $this->render('index', compact('postForm', 'models', 'pages'));

Вид:

<div id="posts" class="panel-body">
            <?php foreach ($models as $user): ?>
                <?php $posts = $user->posts ?>
                <?php foreach ($posts as $post): ?>
                    <h2><?= $post->title ?></h2>
                    <p><?= $post->text ?></p>
                <?php endforeach; ?>
            <?php endforeach; ?>
            <?php echo LinkPager::widget([
                'pagination' => $pages,
                'registerLinkTags' => true
            ]); ?>
        </div>

В результате при запуске происходит вывод всех постов у текущего пользователя, но увы не происходит Лимита (3) - как указано в контроллере , а также нет отображения виджета пагинаци в виде. Ошибок не возникает...

Пытаюсь применить GridView, но не понимаю как вывести связь с таблицей posts

Контроллер:

$dataProvider = new ActiveDataProvider(['query' => User::find()->asArray()->where(['email' => $_SESSION['auth']])->with('posts'),]);
$this->view->title = "Личный кабинет";
return $this->render('index', compact('postForm', 'users', 'dataProvider'));

Вид:

<div id="posts" class="panel-body">
<?= GridView::widget([
'dataProvider' => $dataProvider,
]); ?>
</div>
READ ALSO
Когда надо использовать use для namespace?

Когда надо использовать use для namespace?

Заметил что Шторм выдаёт информацию что use не имеет эффекта никакого:

383
В mySQL не отправляются данные из формы

В mySQL не отправляются данные из формы

Почему-то данные из формы никак не хотят лететь в бд,даже при условии того,что отчаявшись, я просто копирую код из разных гайдов и делаю всё...

266