Не работает поиск в GredView

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Pvashoot89
Сообщения: 11
Зарегистрирован: 2011.09.21, 14:24

Не работает поиск в GredView

Сообщение Pvashoot89 »

Проблема вот в чем:
Если я в модели передаю condition равный скажем 1, то поиск перестает работать.
Если кто нибудь может подсказать причину, буду очень благодарен
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Не работает поиск в GredView

Сообщение rak »

по-моему пора организовывать топик про то, как нужно оформлять вопросы :)
Где код? Как без него можно понять что именно не работает?
maschingan
Сообщения: 75
Зарегистрирован: 2011.01.20, 23:52

Re: Не работает поиск в GredView

Сообщение maschingan »

Не понятно... Покажите код.
yiicoder
Сообщения: 13
Зарегистрирован: 2011.10.17, 12:14

Re: Не работает поиск в GredView

Сообщение yiicoder »

У меня таже беда!! Вроде всё правильно, а работать не хочет зараза!! Выкладываю код!

Код: Выделить всё

public function search()
    {
        // Warning: Please modify the following code to remove attributes that
        // should not be searched.
        $criteria=new CDbCriteria;
        
        $criteria->compare('id',$this->id);
        $criteria->compare('title',$this->title,true);
        $criteria->compare('description',$this->description,true);
        $criteria->compare('cid',$this->cid);
        $criteria->compare('count',$this->count);

        $criteria->condition = 'status = '.Post::STATUS_MODERATED;
         
        return new CActiveDataProvider(get_class($this), array(
            'criteria'=>$criteria,
            'sort'=>array(
                'defaultOrder'=>'insert_date DESC',
                'attributes'=>array(
                     'id', 'title', 'description', 'cid', 'count',
                ),
            ),
            'pagination'=>array(
                'pageSize'=>20
            ),
        ));
    }
 

Код: Выделить всё

public function actionModerate2()
    {
        $model=new Posts('search');
        $model->unsetAttributes();
        
        if(isset($_GET['Posts']))
            $model->attributes=$_GET['Posts'];
        
        $params =array('model'=>$model);
            
        $this->render('moderate2', $params);
    }
  

Код: Выделить всё

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'posts-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        array(
            'class'=>'CCheckBoxColumn',
            'selectableRows' => 2,
            'id'=>'p_id',
                        'checkBoxHtmlOptions' => array('checked'=>false),
        ),
        array(
            'name'=>'id',
            'type'=>'raw',
            'value'=>'CHtml::encode($data->id)',
        ),
        array(
            'name'=>'title',
            'type'=>'raw',
            'value'=>'CHtml::encode($data->title)',
        ),
        array(
            'name'=>'title',
            'type'=>'raw',
            'value'=>'CHtml::encode($data->description)',
        ),
        array(
            'name'=>'cid',
            'type'=>'raw',
            'value'=>'CHtml::encode($data->cid)',
        ),
        array(
                'name'=>'count',
                'type'=>'raw',
                'value'=>'CHtml::encode($data->count)',
        ),
        array(
              'name'=>'Date',
              'value'=>'date("j-m-Y", $data->insert_date)',
              'filter'=>false,
        ),
        array(
            'class'=>'CButtonColumn',
            'template'=>'{view}{update}{delete}',
            'buttons'=>array
            (
                'view' => array
                (
                    'label'=>'View post',
                    'url'=>'Yii::app()->createUrl("torrents/show", array("id"=>$data->hash,"title"=>$data->title))',
                ),
            ),    
        ),
    ),
)); ?>
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Не работает поиск в GredView

Сообщение rak »

1. Объявлять кондишен первым
2. Использовать $criteria->addCondition()
yiicoder
Сообщения: 13
Зарегистрирован: 2011.10.17, 12:14

Re: Не работает поиск в GredView

Сообщение yiicoder »

rak писал(а):1. Объявлять кондишен первым
2. Использовать $criteria->addCondition()
Большое спасибо, первое помогло!! ;)
Ответить