Source for file Relation.php

Documentation is available at Relation.php

  1. <?php
  2. /*
  3.  *  $Id: Relation.php 1080 2007-02-10 18:17:08Z romanb $
  4.  *
  5.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  6.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  7.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  8.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  9.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  10.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  11.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  12.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  13.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  14.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  15.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  16.  *
  17.  * This software consists of voluntary contributions made by many individuals
  18.  * and is licensed under the LGPL. For more information, see
  19.  * <http://www.phpdoctrine.com>.
  20.  */
  21. Doctrine::autoload('Doctrine_Schema_Object');
  22. /**
  23.  * @package     Doctrine
  24.  * @url         http://www.phpdoctrine.com
  25.  * @license     http://www.opensource.org/licenses/lgpl-license.php LGPL
  26.  * @author      Jukka Hassinen <Jukka.Hassinen@BrainAlliance.com>
  27.  * @version     $Id: Relation.php 1080 2007-02-10 18:17:08Z romanb $
  28.  */
  29. /**
  30.  * class Doctrine_Schema_Relation
  31.  * Holds information on a foreign key relation.
  32.  * @package     Doctrine
  33.  * @category    Object Relational Mapping
  34.  * @link        www.phpdoctrine.com
  35.  * @license     http://www.opensource.org/licenses/lgpl-license.php LGPL
  36.  * @since       1.0
  37.  * @version     $Revision: 1080 $
  38.  * @author      Konsta Vesterinen <kvesteri@cc.hut.fi>
  39.  */
  40. {
  41.  
  42.     /**
  43.      * Column that refers to another table
  44.      * @access public
  45.      */
  46.     public $referencingColumn;
  47.  
  48.     /**
  49.      * Column that is referred from another table
  50.      * @access public
  51.      */
  52.     public $referencedColumn;
  53.  
  54.     /**
  55.      * Table where the referred column lives
  56.      * @access public
  57.      *
  58.     */
  59.     public $referencedTable;
  60.  
  61.     /**
  62.      * ON UPDATE or ON DELETE action
  63.      * @static
  64.      * @access public
  65.      */
  66.     public static $ACTION_RESTRICT 1;
  67.  
  68.     /**
  69.      * ON UPDATE or ON DELETE action
  70.      * @static
  71.      * @access public
  72.      */
  73.     public static $ACTION_SET_NULL 2;
  74.  
  75.     /**
  76.      * ON UPDATE or ON DELETE action
  77.      * @static
  78.      * @access public
  79.      */
  80.     public static $ACTION_CASCADE 3;
  81.  
  82.     /**
  83.      * ON UPDATE or ON DELETE action
  84.      * @static
  85.      * @access public
  86.      */
  87.     public static $ACTION_NO_ACTION 4;
  88.  
  89.     /**
  90.      * ON UPDATE or ON DELETE action
  91.      * @static
  92.      * @access public
  93.      */
  94.     public static $ACTION_SET_DEFAULT 5;
  95.  
  96.     /**
  97.      *
  98.      * @param Doctrine_Schema_Column referencing
  99.      * @param Doctrine_Schema_Table referencedtable
  100.      * @param Doctrine_Schema_Column referencedColumn
  101.      * @return 
  102.      * @access public
  103.      */
  104.     public function setRelationBetween$referencingColumn$referencedTable$referencedColumn )
  105.     {
  106.         $this->referencingColumn = $referencingColumn;
  107.         $this->referencedTable = $referencedTable;
  108.         $this->referencedColumn = $referencedColumn;
  109.     }
  110.     /**
  111.      * @return string 
  112.      */
  113.     public function __toString)
  114.     {
  115.         return "Relation between '".$this->referencingColumn."' and '".$this->referencedTable."'.'".$this->referencingColumn."'";
  116.     }
  117.     /**
  118.      *
  119.      * @return bool 
  120.      */
  121.     public function isValid)
  122.     {
  123.  
  124.     }
  125. }