<?php /** * @class Doctrine_Relation * * @author Konsta Vesterinen * @package Doctrine ORM * @url www.phpdoctrine.com * @license LGPL * @version 1.0 alpha * */ class Doctrine_Relation { /** * RELATION CONSTANTS */ /** * constant for ONE_TO_ONE and MANY_TO_ONE aggregate relationships */ const ONE_AGGREGATE = 0; /** * constant for ONE_TO_ONE and MANY_TO_ONE composite relationships */ const ONE_COMPOSITE = 1; /** * constant for MANY_TO_MANY and ONE_TO_MANY aggregate relationships */ const MANY_AGGREGATE = 2; /** * constant for MANY_TO_MANY and ONE_TO_MANY composite relationships */ const MANY_COMPOSITE = 3; /** * @var Doctrine_Table $table foreign factory */ private $table; /** * @var string $local local field */ private $local; /** * @var string $foreign foreign field */ private $foreign; /** * @var integer $type bind type */ private $type; /** * @param Doctrine_Table $table * @param string $local * @param string $foreign * @param integer $type */ public function __construct(Doctrine_Table $table,$local,$foreign,$type) { $this->table = $table; $this->local = $local; $this->foreign = $foreign; $this->type = $type; } /** * @return integer bind type 1 or 0 */ public function getType() { return $this->type; } /** * @return object Doctrine_Table foreign factory object */ public function getTable() { return $this->table; } /** * @return string the name of the local column */ public function getLocal() { return $this->local; } /** * @return string the name of the foreign column where * the local column is pointing at */ public function getForeign() { return $this->foreign; } /** * __toString */ public function __toString() { $r[] = "<pre>"; $r[] = "Class : ".get_class($this); $r[] = "Component : ".$this->table->getComponentName(); $r[] = "Table : ".$this->table->getTableName(); $r[] = "Local key : ".$this->local; $r[] = "Foreign key : ".$this->foreign; $r[] = "Type : ".$this->type; $r[] = "</pre>"; return implode("\n", $r); } } ?>