Как добавить в dataProvider searchModel?

Есть такой вот код в index
$searchModel = new QuestionSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

return $this->render('view_all_questions', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
]);


Но как запихнуть $searchModel в такой dataProvider?
$dataProvider = new ActiveDataProvider([
            'query' => Question::find()->where('test_id=:test_id', array(':test_id'=>$test_id)),
]);
  • Вопрос задан
  • 632 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Заметьте, что запихнуть searchModel в dataProvider эта Ваша идея. На самом же деле вот тут:
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

в переменную с именем dataProvider попадает результат выполнения метода search из объекта QuestionSearch. А не запихивание searchModel в dataProvider. И если Вы посмотрите что в нем (в методе search), то там обнаружите как раз вот это или подобное:
$dataProvider = new ActiveDataProvider([
            'query' => 'someQuery'
]);
return $dataProvider;

Думаю натолкнул на мысль и Вы разобрались. Если нет - уточняйте вопрос ибо добавлять dataProvider в searchModel Вам явно не нужно. Опишите реальную задачу. Поможем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы