[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод двух строк в одной ячейке yii grid view
virtuozo
Есть две таблицы:
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',
),
),

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.