Добрый день!
Есть 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, напишите поподробней.
Заранее спасибо!