Почему в YII2 ломается dataProvider?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Почему в YII2 ломается dataProvider?

Сообщение EVOSandru6 »

Добрый день.

Не понимаю в чем причина. Гуглил много, честно.

Есть такй код:

Код: Выделить всё

$className = $this->className;
        $query = $className::find();
        $query->andWhere([
            $this->attribute=>$this->model->id
        ]);

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pageSize' => 2,
            ],
            'sort' => [
                'defaultOrder' => [
                    'id' => SORT_DESC,
                    'name' => SORT_ASC,
                ]
            ],
        ]);

Далее убеждаюсь, что в провайдере записи есть:

Код: Выделить всё

echo $dataProvider->getTotalCount(). '<br/>'; // 3
Далее кидаю это $dataProvider в ListView:

Код: Выделить всё

echo ListView::widget([
                'dataProvider' => $dataProvider,
                'itemView' => '_list_item',
                'options'=> [
                    'id'=>'comments-list',
                ],
                'itemOptions' => [
                    'class' => 'comments-item'
                ],
            ]);
И ловлю такую ошибку:


PHP Warning – yii\base\ErrorException
Invalid argument supplied for foreach()



В чем может быть дело?
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Почему в YII2 ломается dataProvider?

Сообщение kawabanga »

точно на провайдер ругается? может внутри есть какое нибудь перечисление?
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Re: Почему в YII2 ломается dataProvider?

Сообщение EVOSandru6 »

kawabanga писал(а): 2017.08.20, 00:09 точно на провайдер ругается? может внутри есть какое нибудь перечисление?
Спасибо за отклик, выяснил, что ошибка в части:

Код: Выделить всё

'defaultOrder' => [
                    'id' => SORT_DESC,
                    // 'name' => SORT_ASC,
                ]
                
Поля name нет в таблице. Странно, что об этом в дебаге не говорилось. Буду знать теперь.
Закрыто