<?php class QueryTest_Category extends Doctrine_Record { /** * The depth of the category inside the tree. * Non-persistent field. * * @var integer */ public $depth; /** * Table definition. */ public function setTableDefinition() { $this->hasColumn('rootCategoryId as rootCategoryId', 'integer', 4, array('default' => 0)); $this->hasColumn('parentCategoryId as parentCategoryId', 'integer', 4, array('notnull', 'default' => 0)); $this->hasColumn('name as name', 'string', 50, array('notnull', 'unique')); $this->hasColumn('position as position', 'integer', 4, array('default' => 0, 'notnull')); } /** * Relations definition. */ public function setUp() { $this->ownsMany('QueryTest_Category as subCategories', 'subCategories.parentCategoryId'); $this->hasOne('QueryTest_Category as rootCategory', 'QueryTest_Category.rootCategoryId'); $this->ownsMany('QueryTest_Board as boards', 'QueryTest_Board.categoryId'); } }