Incam_PROFIND_Web/www/protected/models/CandidatoIdioma.php
2012-10-23 19:02:18 +00:00

112 lines
3.5 KiB
PHP

<?php
/**
* @class CandidatoIdioma
* @brief Modelo de la tabla "tbl_candidatos_idiomas".
*
* The followings are the available columns in table 'tbl_candidatos_idiomas':
* @property integer $id
* @property integer $candidato_id
* @property string $idioma
* @property string $conversacion
* @property string $lectura_traduccion
*
* The followings are the available model relations:
* @property Candidato $candidato
*/
class CandidatoIdioma extends CActiveRecord {
const NIVEL_BAJO = 0;
const NIVEL_MEDIO = 1;
const NIVEL_ALTO = 2;
/**
* @brief Devuelve la lista de niveles de idioma.
* @return array lista de niveles permitidos
*/
public static function getOpcionesNivel() {
return array(
self::NIVEL_BAJO => 'Bajo',
self::NIVEL_MEDIO => 'Medio',
self::NIVEL_ALTO => 'Alto',
);
}
/**
* Returns the static model of the specified AR class.
* @param string $className active record class name.
* @return CandidatoIdioma the static model class
*/
public static function model($className = __CLASS__) {
return parent::model($className);
}
/**
* @return string the associated database table name
*/
public function tableName() {
return 'tbl_candidatos_idiomas';
}
/**
* @return array validation rules for model attributes.
*/
public function rules() {
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('candidato_id, idioma', 'required'),
array('candidato_id', 'numerical', 'integerOnly' => true),
array('idioma, conversacion, lectura_traduccion', 'length', 'max' => 255),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, candidato_id, idioma, conversacion, lectura_traduccion', 'safe', 'on' => 'search'),
);
}
/**
* @return array relational rules.
*/
public function relations() {
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'candidato' => array(self::BELONGS_TO, 'Candidato', 'candidato_id'),
);
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels() {
return array(
'id' => 'ID',
'candidato_id' => 'Candidato',
'idioma' => 'Idioma',
'conversacion' => 'Nivel en conversación',
'lectura_traduccion' => 'Nivel en lectura/traducción',
);
}
/**
* Retrieves a list of models based on the current search/filter conditions.
* @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
*/
public function search() {
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('candidato_id', $this->candidato_id);
$criteria->compare('idioma', $this->idioma, true);
$criteria->compare('conversacion', $this->conversacion, true);
$criteria->compare('lectura_traduccion', $this->lectura_traduccion, true);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));
}
}