<?php #namespace Doctrine::Tests::ORM::Models::CMS; #use Doctrine::ORM::Entity; class CmsArticle { public $id; public $topic; public $text; public $user; public $comments; /*static function construct() { Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'id', 'int'); Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'topic', 'string'); Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'text', 'string'); Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'user_id', 'int'); Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'user', 'CmsUser'); Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'comments', 'collection'); }*/ public static function initMetadata($mapping) { $mapping->mapField(array( 'fieldName' => 'id', 'type' => 'integer', 'id' => true, 'idGenerator' => 'auto' )); $mapping->mapField(array( 'fieldName' => 'topic', 'type' => 'string', 'length' => 255 )); $mapping->mapField(array( 'fieldName' => 'text', 'type' => 'string' )); $mapping->mapField(array( 'fieldName' => 'user_id', 'type' => 'integer' )); $mapping->mapOneToMany(array( 'fieldName' => 'comments', 'targetEntity' => 'CmsComment', 'mappedBy' => 'article' )); $mapping->mapManyToOne(array( 'fieldName' => 'user', 'targetEntity' => 'CmsUser', 'joinColumns' => array('user_id' => 'id') )); } }