Doctrine - 逗号分隔字段中的值

时间:2010-12-01 10:53:33

标签: php mysql doctrine doctrine-1.2

我正在尝试在遗留的MySql数据库之上实现Doctrine。就目前而言,它非常棒。但...

我有事件表格whitch具有以下结构:

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

类别,whitch有类别。结构就像......

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

现在......类别IDS 在events.category字段中以逗号(,)分隔值存储。如何在没有太多麻烦的情况下设置关系...我需要hasMany等...

2 个答案:

答案 0 :(得分:3)

如果您遇到数据库架构问题,请编写自己的水箱。当您获取所有数据时,解析它并返回正确的对象集合。

答案 1 :(得分:0)

我这样做了...... Perhapse有更好的方法吗?

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);
}