Я изо всех сил пытаюсь понять, как использовать фильтр в моей сетке, когда он сгенерирован из SqlDataProvider.SqlDataProvider filter
В настоящее время моя модель работает следующим образом:
$sql = 'SELECT * FROM my_table';
$provider = new SqlDataProvider([
'sql' => $sql,
'params' => [':start' => $param1, ':end' => $param2],
'totalCount' => $count,
'pagination' => [
'pageSize' => 100
],
]);
return $provider;
Когда не является активной записи, как это должно быть сделано? Модели поиска, кажется, все это может быть на основе АР и вызова в контроллере:
$searchModel->search(Yii::$app->request->queryParams);
Где функция $ searchModel начинается так:
public function search($params)
{
$query = myTable::find();
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
...
Я начал менять функцию поиска(), чтобы быть больше, как это, но не уверен, что я буду об этом правильный путь:
$query = new Query;
$query->select('*')
->from('my_table');
// add conditions that should always apply here
$dataProvider = new SqlDataProvider([
'sql' => $query,
'pagination' => [
'pageSize' => 100
],
]);
в нем ошибки с
preg_match() ожидает параметр 2 будет строка, данный объект
Спасибо, я только что понял это – Jonnny