实现自我关系

时间:2009-11-30 18:47:24

标签: doctrine database-relations

有人能给我一个如何实现类自我关系的例子吗?

1 个答案:

答案 0 :(得分:1)

你需要这样的东西:

MenuOption:
  tableName: MenuOption
  columns:
    id:
      type: integer(4)
      autoincrement: true
    child_menu_option_id:
      type: integer(4)
      null: true
    ... (more columns)
  relations:
    ChildMenuOptions:
      class: MenuOption
      foreignAlias: News
      foreign: id
      local: child_menu_option_id

一旦你加载了一个MenuOption对象,你就会像这样引用你的孩子:

$menuOption = Doctrine_Query::create()
  ->from("MenuOption")
  ->where("stuff here")
  ->fetchOne();
$children = $menuOption->ChildMenuOptions; // this will be a Doctrine_Collection object