1. category:
CREATE TABLE IF NOT EXISTS `category` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
INSERT INTO `category` (`id`, `name`) VALUES
(2, 'Компьютеры'),
(6, 'Фрукты');
2. assortiment:
CREATE TABLE IF NOT EXISTS `assortiment` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`parent_id` int(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
INSERT INTO `assortiment` (`id`, `name`, `parent_id`) VALUES
(2, 'Жёсткий диск', 2),
(7, 'арбуз', 6),
(8, 'дыня', 6);
Необходимо показать две строки (арбуз и дыня) из таблицы assortiment в одной строке grid view. Сейчас, отображается только одна строка (арбуз).
В модели Assortiment я написал:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'category' => array(self::BELONGS_TO, 'category', 'parent_id'),
);
}
В модели Category я написал:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'assortiment'=>array(self::HAS_ONE, 'assortiment', 'parent_id'),
);
}
В category/admin.php я добавил столбец:
'columns'=>array(
'id',
'name',
array(
'header' => 'test',
'value' => '$data->assortiment->name',
),
array(
'class'=>'CButtonColumn',
),
),