<?php

/**
 * BaseEmpBasicsalary
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id
 * @property integer $emp_number
 * @property string $sal_grd_code
 * @property string $currency_id
 * @property string $basic_salary
 * @property string $payperiod_code
 * @property string $salary_component
 * @property string $comments
 * @property SalaryGrade $salaryGrade
 * @property CurrencyType $currencyType
 * @property Employee $employee
 * @property Payperiod $payperiod
 * @property EmpDirectdebit $directDebit
 * @property PayGrade $PayGrade
 * 
 * @method integer        getId()               Returns the current record's "id" value
 * @method integer        getEmpNumber()        Returns the current record's "emp_number" value
 * @method string         getSalGrdCode()       Returns the current record's "sal_grd_code" value
 * @method string         getCurrencyId()       Returns the current record's "currency_id" value
 * @method string         getBasicSalary()      Returns the current record's "basic_salary" value
 * @method string         getPayperiodCode()    Returns the current record's "payperiod_code" value
 * @method string         getSalaryComponent()  Returns the current record's "salary_component" value
 * @method string         getComments()         Returns the current record's "comments" value
 * @method SalaryGrade    getSalaryGrade()      Returns the current record's "salaryGrade" value
 * @method CurrencyType   getCurrencyType()     Returns the current record's "currencyType" value
 * @method Employee       getEmployee()         Returns the current record's "employee" value
 * @method Payperiod      getPayperiod()        Returns the current record's "payperiod" value
 * @method EmpDirectdebit getDirectDebit()      Returns the current record's "directDebit" value
 * @method PayGrade       getPayGrade()         Returns the current record's "PayGrade" value
 * @method EmpBasicsalary setId()               Sets the current record's "id" value
 * @method EmpBasicsalary setEmpNumber()        Sets the current record's "emp_number" value
 * @method EmpBasicsalary setSalGrdCode()       Sets the current record's "sal_grd_code" value
 * @method EmpBasicsalary setCurrencyId()       Sets the current record's "currency_id" value
 * @method EmpBasicsalary setBasicSalary()      Sets the current record's "basic_salary" value
 * @method EmpBasicsalary setPayperiodCode()    Sets the current record's "payperiod_code" value
 * @method EmpBasicsalary setSalaryComponent()  Sets the current record's "salary_component" value
 * @method EmpBasicsalary setComments()         Sets the current record's "comments" value
 * @method EmpBasicsalary setSalaryGrade()      Sets the current record's "salaryGrade" value
 * @method EmpBasicsalary setCurrencyType()     Sets the current record's "currencyType" value
 * @method EmpBasicsalary setEmployee()         Sets the current record's "employee" value
 * @method EmpBasicsalary setPayperiod()        Sets the current record's "payperiod" value
 * @method EmpBasicsalary setDirectDebit()      Sets the current record's "directDebit" value
 * @method EmpBasicsalary setPayGrade()         Sets the current record's "PayGrade" value
 * 
 * @package    orangehrm
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7490 2010-03-29 19:53:27Z jwage $
 */
abstract class BaseEmpBasicsalary extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('hs_hr_emp_basicsalary');
        $this->hasColumn('id', 'integer', 4, array(
             'type' => 'integer',
             'primary' => true,
             'autoincrement' => true,
             'length' => 4,
             ));
        $this->hasColumn('emp_number', 'integer', 4, array(
             'type' => 'integer',
             'notnull' => true,
             'length' => 4,
             ));
        $this->hasColumn('sal_grd_code', 'string', 13, array(
             'type' => 'string',
             'length' => 13,
             ));
        $this->hasColumn('currency_id', 'string', 6, array(
             'type' => 'string',
             'notnull' => true,
             'default' => '',
             'length' => 6,
             ));
        $this->hasColumn('ebsal_basic_salary as basic_salary', 'string', 100, array(
             'type' => 'string',
             'length' => 100,
             ));
        $this->hasColumn('payperiod_code', 'string', 13, array(
             'type' => 'string',
             'length' => 13,
             ));
        $this->hasColumn('salary_component', 'string', 100, array(
             'type' => 'string',
             'length' => 100,
             ));
        $this->hasColumn('comments', 'string', 255, array(
             'type' => 'string',
             'length' => 255,
             ));
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('SalaryGrade as salaryGrade', array(
             'local' => 'sal_grd_code',
             'foreign' => 'sal_grd_code'));

        $this->hasOne('CurrencyType as currencyType', array(
             'local' => 'currency_id',
             'foreign' => 'currency_id'));

        $this->hasOne('Employee as employee', array(
             'local' => 'emp_number',
             'foreign' => 'emp_number'));

        $this->hasOne('Payperiod as payperiod', array(
             'local' => 'payperiod_code',
             'foreign' => 'payperiod_code'));

        $this->hasOne('EmpDirectdebit as directDebit', array(
             'local' => 'id',
             'foreign' => 'salary_id'));

        $this->hasOne('PayGrade', array(
             'local' => 'sal_grd_code',
             'foreign' => 'id'));
    }
}