С помощью CRUD
с генерировал GridView
на индексной странице.
На данный момент в GridView
отображаются все элементы из таблицы в БД.
Хотел что бы не отображались все данные, а только те у которых например поле some_id
в таблице равно 12
.
Пробовал так:
В место $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
Написал
$query = SomeModel::find()->where(['some_id' => 12]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 20,
],
]);
Вроде все получилось, но теперь не работает searchModel
.
Или можно как нибудь добавить условие в строку
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
UPDATE:
На самом деле в контроллере actionIndex
принимает параметр some_id
, и после этого выводит данные у которых выполняется условие.
public function actionIndex($some_id){
$searchModel = new SomeModelSearch();
// Я сам закомментировал
//$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
// И добал это
$query = SomeModel::find()->where(['some_id' => $some_id]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 20,
],
]);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
В $searchModel
в методе search
в конце перед return $dataProvider
добавьте свой запрос, к примеру вот такой:
$query->andFilterWhere(['some_id' => 12]);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Имеется кнопка скачать на клиенте, по нажатию на которую уходит запрос на сервер с целью получения файла для скачивания