<?php class QueryTest_Category extends Doctrine_Entity { /** * The depth of the category inside the tree. * Non-persistent field. * * @var integer */ public $depth; /** * Table definition. */ public static function initMetadata($class) { $class->setColumn('rootCategoryId as rootCategoryId', 'integer', 4, array('default' => 0)); $class->setColumn('parentCategoryId as parentCategoryId', 'integer', 4, array('notnull', 'default' => 0)); $class->setColumn('name as name', 'string', 50, array('notnull', 'unique')); $class->setColumn('position as position', 'integer', 4, array('default' => 0, 'notnull')); $class->hasMany('QueryTest_Category as subCategories', array('local' => 'id', 'foreign' => 'parentCategoryId')); $class->hasOne('QueryTest_Category as rootCategory', array('local' => 'rootCategoryId', 'foreign' => 'id')); $class->hasMany('QueryTest_Board as boards', array('local' => 'id', 'foreign' => 'categoryId')); } }