Yii1 Удалить начальный поиск - PullRequest
0 голосов
/ 11 марта 2019

У меня возникают проблемы при попытке отобразить список элементов на CGridView, у меня есть таблица с логическим полем is_active, у которого было 0 значение по умолчанию, поэтому, когда я хочу отобразить эту таблицу на CGridView показывает только строки с 0 в поле is_active и добавляет 0 в поисковый ввод по умолчанию.

Я добавляю эту строку в функцию поиска $criteria->compare('is_active',$this->is_active,false);, но все еще не работает

Это моя функция поиска

public function search()
{

    $criteria=new CDbCriteria;

    $criteria->compare('id',$this->id);
    $criteria->compare('title',$this->title);
    $criteria->compare('description',$this->description);
    $criteria->compare('is_active',$this->is_active,false);

    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
}

Это мой CGridView

...
{
  'header' : 'Activated',
  'filter' : CHtml.activeTextField( model, 'is_active' ),
  'value' : '$data->is_active ? "Oui" : "Non" '
}
...

Это то, что я получил

enter image description here

Но я хочу показать все элементы таблицы.

1 Ответ

1 голос
/ 11 марта 2019

Вам необходимо использовать unsetAttributes() для сброса значений по умолчанию, обнаруженных в схеме базы данных:

$model = new MyModel('search');
$model->unsetAttributes();
if (isset($_GET['MyModel'])) {
    $model->attributes = $_GET['MyModel'];
}
$dataProvider = $model->search();
...