<?php

/**
 * BaseJobInterview
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id
 * @property integer $candidateVacancyId
 * @property integer $candidateId
 * @property string $interviewName
 * @property date $interviewDate
 * @property string $interviewTime
 * @property string $note
 * @property JobCandidateVacancy $JobCandidateVacancy
 * @property Doctrine_Collection $JobInterviewInterviewer
 * @property CandidateHistory $CandidateHistory
 * @property Doctrine_Collection $JobInterviewAttachment
 * @property JobCandidate $JobCandidate
 * 
 * @method integer             getId()                      Returns the current record's "id" value
 * @method integer             getCandidateVacancyId()      Returns the current record's "candidateVacancyId" value
 * @method integer             getCandidateId()             Returns the current record's "candidateId" value
 * @method string              getInterviewName()           Returns the current record's "interviewName" value
 * @method date                getInterviewDate()           Returns the current record's "interviewDate" value
 * @method string              getInterviewTime()           Returns the current record's "interviewTime" value
 * @method string              getNote()                    Returns the current record's "note" value
 * @method JobCandidateVacancy getJobCandidateVacancy()     Returns the current record's "JobCandidateVacancy" value
 * @method Doctrine_Collection getJobInterviewInterviewer() Returns the current record's "JobInterviewInterviewer" collection
 * @method CandidateHistory    getCandidateHistory()        Returns the current record's "CandidateHistory" value
 * @method Doctrine_Collection getJobInterviewAttachment()  Returns the current record's "JobInterviewAttachment" collection
 * @method JobCandidate        getJobCandidate()            Returns the current record's "JobCandidate" value
 * @method JobInterview        setId()                      Sets the current record's "id" value
 * @method JobInterview        setCandidateVacancyId()      Sets the current record's "candidateVacancyId" value
 * @method JobInterview        setCandidateId()             Sets the current record's "candidateId" value
 * @method JobInterview        setInterviewName()           Sets the current record's "interviewName" value
 * @method JobInterview        setInterviewDate()           Sets the current record's "interviewDate" value
 * @method JobInterview        setInterviewTime()           Sets the current record's "interviewTime" value
 * @method JobInterview        setNote()                    Sets the current record's "note" value
 * @method JobInterview        setJobCandidateVacancy()     Sets the current record's "JobCandidateVacancy" value
 * @method JobInterview        setJobInterviewInterviewer() Sets the current record's "JobInterviewInterviewer" collection
 * @method JobInterview        setCandidateHistory()        Sets the current record's "CandidateHistory" value
 * @method JobInterview        setJobInterviewAttachment()  Sets the current record's "JobInterviewAttachment" collection
 * @method JobInterview        setJobCandidate()            Sets the current record's "JobCandidate" value
 * 
 * @package    orangehrm
 * @subpackage model\recruitment\base
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7490 2010-03-29 19:53:27Z jwage $
 */
abstract class BaseJobInterview extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('ohrm_job_interview');
        $this->hasColumn('id', 'integer', 13, array(
             'type' => 'integer',
             'primary' => true,
             'autoincrement' => true,
             'length' => 13,
             ));
        $this->hasColumn('candidate_vacancy_id as candidateVacancyId', 'integer', 13, array(
             'type' => 'integer',
             'length' => 13,
             ));
        $this->hasColumn('candidate_id as candidateId', 'integer', 13, array(
             'type' => 'integer',
             'length' => 13,
             ));
        $this->hasColumn('interview_name as interviewName', 'string', 100, array(
             'type' => 'string',
             'length' => 100,
             ));
        $this->hasColumn('interview_date as interviewDate', 'date', 25, array(
             'type' => 'date',
             'length' => 25,
             ));
        $this->hasColumn('interview_time as interviewTime', 'string', 30, array(
             'type' => 'string',
             'length' => 30,
             ));
        $this->hasColumn('note', 'string', 2147483647, array(
             'type' => 'string',
             'length' => 2147483647,
             ));
    }

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

        $this->hasMany('JobInterviewInterviewer', array(
             'local' => 'id',
             'foreign' => 'interview_id'));

        $this->hasOne('CandidateHistory', array(
             'local' => 'id',
             'foreign' => 'interviewId'));

        $this->hasMany('JobInterviewAttachment', array(
             'local' => 'id',
             'foreign' => 'interviewId'));

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