2010-12-01 4 views
1

Я пытаюсь реализовать Doctrine поверх старой базы данных MySql. На данный момент это замечательно. Но ...Doctrine - значения, разделенные запятыми, в поле

У меня есть События таблицы ведьма имеет следующую структуру:

CREATE TABLE `events` (
    `uid` int(11) NOT NULL AUTO_INCREMENT, 
    -- skipped --- 
    `title` varchar(255) NOT NULL DEFAULT '', 
    `category` text, 
)... 

И стол Категории, имеет категории ведьма. Структура, как ...

CREATE TABLE `tx_tendsical_category` (
    ... 
`title` varchar(255) NOT NULL DEFAULT '', 
    ... 
) 

Теперь ... Категория IDS являются хранятся в виде запятой (,) значений, разделенных в events.category поле. Как я могу настроить отношения без особых проблем ... Мне нужно hasMany и т. Д.

+0

Вы бы лучше нормализации, чтобы дать себе таблицу Events_categories – 2010-12-01 11:00:25

ответ

3

Если у вас возникли проблемы с схемой базы данных, напишите ваши собственные гидраторы. Когда вы будете получать все данные, проанализируйте их и верните соответствующие коллекции объектов.

0

Я сделал это так ... Пергамент есть лучший способ?

public function getCategories(){ 
    return Doctrine_Query::create() 
     ->from("Category c") 
     ->where("c.uid IN ?",array(explode(",",$this->category))) 
     ->execute(array(),Doctrine_Core::HYDRATE_ON_DEMAND); 
} 
Смежные вопросы