Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да добавите критерии за търсене и филтриране в Yii

Вместо да се опитвате да преоткривате колелото, можете просто да използвате предоставената от Yii притурка CGridView . Има функция за сортиране и филтриране. Проверете документацията и ще откриете, че има много конфигурации, с които можете да играете. Следният кодов фрагмент използва минимална конфигурация.

.../views/supermarkets/index.php:

    <?php
    $this->widget('zii.widgets.grid.CGridView', array(
        'id' => 'supermarkets-grid',
        'dataProvider' => $model->search(),
        'filter' => $model,
        'columns' => array(
            'name',
            'location',
            'telephone',
            'fax',
            'website'
        ),
    ));
    ?>

Внедрете функцията search() в модела на супермаркетите.

public function search()
{

    $criteria=new CDbCriteria;

    $criteria->compare('name',$this->name,true);
    $criteria->compare('location',$this->location,true);
    $criteria->compare('telephone',$this->telephone,true);
    $criteria->compare('fax',$this->fax,true);
    $criteria->compare('website',$this->website,true);

    return new CActiveDataProvider(get_class($this), array(
        'criteria'=>$criteria,
        'sort'=>array(
            'defaultOrder'=>'name ASC',
        ),
        'pagination'=>array(
            'pageSize'=>20
        ),
    ));
}

Контролери/СупермаркетиКонтролер:.

public function actionIndex() {
    $model =new Supermarkets('search');
    if(isset($_GET['Supermarkets']))
        $model->attributes =$_GET['Supermarkets'];

    return  $this->render('index', array('model'=>$model));
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. повишаване на производителността при SELECT заявка с голям набор от 3D точкови данни

  2. Преобразуване на съпоставянето на колони в таблица/база данни по подразбиране

  3. Изпълнение на една и съща заявка за избор няколко пъти с различни параметри

  4. чат сървър:кой е най-добрият (оптимизиран) начин за запазване на дневник за разговори

  5. Не може да се стартира rails сървър