<?php
// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('CA_ACCESO', 'doctrine');

/**
 * BaseCA_ACCESO
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_acceso
 * @property string $cod_func
 * @property integer $es_funcion
 * @property string $rotulo
 * @property integer $id_modulo
 * @property integer $estado
 * @property CA_MODULO $CA_MODULO
 * @property Doctrine_Collection $CA_PERFIL_ACCESO
 * @property Doctrine_Collection $CA_ACCESO_ACCESO
 * @property Doctrine_Collection $CA_ACCESO_ACCESO_2
 * 
 * @method integer             getIdAcceso()           Returns the current record's "id_acceso" value
 * @method string              getCodFunc()            Returns the current record's "cod_func" value
 * @method integer             getEsFuncion()          Returns the current record's "es_funcion" value
 * @method string              getRotulo()             Returns the current record's "rotulo" value
 * @method integer             getIdModulo()           Returns the current record's "id_modulo" value
 * @method integer             getEstado()             Returns the current record's "estado" value
 * @method CA_MODULO           getCAMODULO()           Returns the current record's "CA_MODULO" value
 * @method Doctrine_Collection getCAPERFILACCESO()     Returns the current record's "CA_PERFIL_ACCESO" collection
 * @method Doctrine_Collection getCAACCESOACCESO()     Returns the current record's "CA_ACCESO_ACCESO" collection
 * @method Doctrine_Collection getCAACCESOACCESO2()    Returns the current record's "CA_ACCESO_ACCESO_2" collection
 * @method CA_ACCESO           setIdAcceso()           Sets the current record's "id_acceso" value
 * @method CA_ACCESO           setCodFunc()            Sets the current record's "cod_func" value
 * @method CA_ACCESO           setEsFuncion()          Sets the current record's "es_funcion" value
 * @method CA_ACCESO           setRotulo()             Sets the current record's "rotulo" value
 * @method CA_ACCESO           setIdModulo()           Sets the current record's "id_modulo" value
 * @method CA_ACCESO           setEstado()             Sets the current record's "estado" value
 * @method CA_ACCESO           setCAMODULO()           Sets the current record's "CA_MODULO" value
 * @method CA_ACCESO           setCAPERFILACCESO()     Sets the current record's "CA_PERFIL_ACCESO" collection
 * @method CA_ACCESO           setCAACCESOACCESO()     Sets the current record's "CA_ACCESO_ACCESO" collection
 * @method CA_ACCESO           setCAACCESOACCESO2()    Sets the current record's "CA_ACCESO_ACCESO_2" collection
 * 
 * @package    canon
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseCA_ACCESO extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('CA_ACCESO');
        $this->hasColumn('id_acceso', 'integer', 8, array(
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 8,
             ));
        $this->hasColumn('cod_func', 'string', 32, array(
             'notnull' => true,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 32,
             ));
        $this->hasColumn('es_funcion', 'integer', 1, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 1,
             ));
        $this->hasColumn('rotulo', 'string', 128, array(
             'notnull' => true,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 128,
             ));
        $this->hasColumn('id_modulo', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('estado', 'integer', 1, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 1,
             ));
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('CA_MODULO', array(
             'local' => 'id_modulo',
             'foreign' => 'id_modulo'));

        $this->hasMany('CA_PERFIL_ACCESO', array(
             'local' => 'id_acceso',
             'foreign' => 'id_acceso'));

        $this->hasMany('CA_ACCESO_ACCESO', array(
             'local' => 'id_acceso',
             'foreign' => 'id_acceso_padre'));

        $this->hasMany('CA_ACCESO_ACCESO as CA_ACCESO_ACCESO_2', array(
             'local' => 'id_acceso',
             'foreign' => 'id_acceso_hijo'));
    }
}