Yii Framework Forum: Filter В Cgridview - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Filter В Cgridview Rate Topic: -----

#1 User is offline   <Flash> 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 03-November 12

Posted 03 November 2012 - 08:48 AM

Привет всем. Долго бьюсь уже с filter для связанных таблиц в cgridview, но он так и не хочет работать.(ввожу в поле поиска нажимаю интер - ноль реакции). Делаю так:

//controller
        $model = new Users('search');
        $model->unsetAttributes();  // clear any default values
        if (isset($_GET['Users']))
            $model->attributes = $_GET['Users'];
        $this->render('learner', array(
            'model' => $model,
        ));
//model

//relations
return array( 'child'=>array(self::HAS_ONE, 'Childs', 'uid')

//search делаю для теста, чтобы пока по одному полю искала 
    public function search() {
        $criteria = new CDbCriteria;
        $criteria->condition = 'role=:role';
        $criteria->params = array(':role' => 'child');
        $criteria->with = array( 'child' );
        //$criteria->addSearchCondition('child.class', $this->class, true); 
        $criteria->compare('id', $this->id);
        $criteria->compare('firstname', $this->firstname, true);
        return new CActiveDataProvider($this, array(
                    'criteria' => $criteria,
                    'sort' => array(
                        'attributes' => array(
                            'id',
                            'firstname',
                            'lastname',
                            'secondname',
                            'child.class',
                            'child.school'
                        )
                    ),                    
                ));
    }

//представление 

<?php
$data= new Users();//::model()->with('child');
$dataProvider=$data->search();
$gridColumns = array(
    array('name'=>'id', 'header'=>'#', 'htmlOptions'=>array('style'=>'width: 60px')),
    array('name'=>'firstname', 'header'=>'Имя'),
        array('name'=>'secondname', 'header'=>'Фамилия'),
        array('name'=>'lastname', 'header'=>'Отчество'),
    array(
            'name'=>'child.school',
            'header'=>'Школа',
            'value'=>'$data->child->school',
            ),
        array(
            'name'=>'child.class',
            'header'=>'Класс',
            'value'=>'$data->child->class',
            //'filter'=> CHtml::activeTextField($data, 'school'),
            ), 
         array(
            //'name'=>'confirm',
            'header'=>'Активация',
            'value'=>'$data->child->confirm'
         ),
    array(
        'htmlOptions' => array('nowrap'=>'nowrap'),
        'class'=>'bootstrap.widgets.TbButtonColumn',
                'viewButtonUrl'=>null,
        'updateButtonUrl'=>null,
        'deleteButtonUrl'=>null,
    )
);

$this->widget('bootstrap.widgets.TbGridView', array(
    'dataProvider' => $dataProvider,
    'columns' => $gridColumns,
    'type' => 'bordered',
    'filter' =>$model,
));
?>

Вот. Помогите пожалуйста и заранее спасибо!
P.S. чуть не забыл - пытаюсь добиться поиска хоть по одному полю из основной таблицы - все-равно не работает.
0

#2 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 313
  • Joined: 03-September 11

Posted 05 November 2012 - 01:50 AM

Если я правильно понимаю, то вам сюда.

Подобная проблема поднималась также в как связанные данные вывести в одной таблице в представлении
0

#3 User is offline   <Flash> 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 03-November 12

Posted 05 November 2012 - 12:04 PM

Окей, спасибо. Вроде я все так и делаю, но попробую еще раз так. Видимо где-то мелкая ошибка затисалась.
0

#4 User is offline   <Flash> 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 03-November 12

Posted 05 November 2012 - 12:48 PM

Да, я делаю все также. Но у меня проблема немного другого характера. Поле у меня отображается, но когда я ввожу там информацию и нажимаю интер ничего не происходит: страница ни обновляется(а должна ведь), запросы ни какие не посылаются.
0

#5 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 313
  • Joined: 03-September 11

Posted 06 November 2012 - 12:09 AM

Quote

Да, я делаю все также

Но по приведенному вами коду не видно этого. Нет объявления свойств класса, не модифицирована search()...

Еще заметил странную штуку
$data= new Users();//::model()->with('child');

Вы же передали $model из контроллера, где присваивали значение фильтров. Так почему вместо её использования вы создаете и используете совершенно новый объект?
0

#6 User is offline   <Flash> 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 03-November 12

Posted 06 November 2012 - 08:40 AM

Так, это исправил. Тут оказывается в консоли браузера ошибка выдается:

Quote

Uncaught TypeError: Object [object Object] has no method 'tooltip' admin:72
(anonymous function) admin:72
fire jquery-latest.js:974
self.fireWith jquery-latest.js:1082
jQuery.extend.ready jquery-latest.js:406
DOMContentLoaded jquery-latest.js:83

Может быть в следствии этого ошибка?
0

#7 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 313
  • Joined: 03-September 11

Posted 06 November 2012 - 10:49 AM

Может и тут, но понятия не имею как её исправлять.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users