Yii Framework Forum: Выпадающий Список В Фильтре Cgridview - Yii Framework Forum

Jump to content

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

Выпадающий Список В Фильтре Cgridview выпадающий список в фильтре CGridView Rate Topic: -----

#1 User is offline   D-3210 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 15-February 13

Posted 28 March 2013 - 02:25 AM

Добрый день!
Есть 3 таблицы:
CREATE TABLE IF NOT EXISTS `department` (
  `department_id` int(32) NOT NULL AUTO_INCREMENT,
  `department_name` varchar(255) NOT NULL,
  PRIMARY KEY (`department_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
CREATE TABLE IF NOT EXISTS `user` (
  `user_name` varchar(15) NOT NULL,
  `user_password` varchar(300) NOT NULL,
  `user_date_create` date NOT NULL,
  `user_date_last_visit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `user_id` int(10) NOT NULL AUTO_INCREMENT,
  `user_role` int(1) NOT NULL,
  `department_id` int(32) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
CREATE TABLE IF NOT EXISTS `in_out_work` (
  `user_id` int(32) NOT NULL,
  `user_in_work` datetime DEFAULT NULL,
  `user_out_work` datetime DEFAULT NULL,
  `in_out_work_id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`in_out_work_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=61 ;

и relations:
в модели user:
'group' => array(self::BELONGS_TO, 'Group', 'group_id'),

в модели InOutWork:
'user' => array(self::BELONGS_TO, 'User', 'user_id'),


В контроллере InOutWorkController рендерим CGridView и выводим department_name:
'
department' => array(
            'name' => 'in_out_work_id',
            'name' => 'user_id',
            'header' => 'Отдел',
            'type' => 'html',
            'value' => '$data->user->department->department_name',
)

Что написать сделать, чтоб выводился выпадающий список? Точнее он выводится, но нет поиска при выборе значения:
'filter' => CHtml::listData(Department::model()->findAll(), 'department_id', 'department_name'),

Если необходимо править relations моделей или search, напишите поподробней.
Заранее спасибо!
0

#2 User is offline   tuschkan 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 122
  • Joined: 20-April 11
  • Location:Kiev, Ukraine

Posted 28 March 2013 - 02:57 AM

гляньте как тут реализуется сортировка по related model
Related Model
0

#3 User is offline   D-3210 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 15-February 13

Posted 28 March 2013 - 03:10 AM

Там реализовано со связью, когда id_author хранится в 2-х таблицах.
Так я тоже могу:
'user_id' => array(
            'header' => 'Пользователь',
            'name' => 'user_id',
            'value' => '$data->user->user_name',
            'filter' => CHtml::listData(User::model()->findAll(), 'user_id', 'user_name'),
        ), 

напишите поподробней, с Yii только знакомлюсь, не догоняю какие-то моменты.
в search кроме добавленной строки с сортировкой - все остальное сгенерил gii
	public function search()
	{

		$criteria=new CDbCriteria;
                $criteria->compare('user_id',$this->user_id);
		$criteria->compare('user_in_work',$this->user_in_work,true);
		$criteria->compare('user_out_work',$this->user_out_work,true);
		$criteria->compare('in_out_work_id',$this->in_out_work_id);
                $criteria->order = 'in_out_work_id DESC';
		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
}

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