108 lines
3.4 KiB
PHP
108 lines
3.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
/**
|
||
|
|
* This is the model class for table "tbl_subscripciones".
|
||
|
|
*
|
||
|
|
* The followings are the available columns in table 'tbl_subscripciones':
|
||
|
|
* @property integer $id
|
||
|
|
* @property integer $id_usuario
|
||
|
|
* @property integer $id_producto
|
||
|
|
* @property string $estado
|
||
|
|
* @property string $fecha_inicio
|
||
|
|
* @property string $fecha_fin
|
||
|
|
*/
|
||
|
|
class Subscripcion extends CActiveRecord {
|
||
|
|
|
||
|
|
const ESTADO_NO_ACTIVO = 0;
|
||
|
|
const ESTADO_ACTIVO = 1;
|
||
|
|
const ESTADO_CADUCADO = 2;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the static model of the specified AR class.
|
||
|
|
* @param string $className active record class name.
|
||
|
|
* @return Subscripcion 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_subscripciones';
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @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('id_usuario, id_producto', 'numerical', 'integerOnly' => true),
|
||
|
|
array('estado', 'length', 'max' => 255),
|
||
|
|
array('fecha_inicio, fecha_fin', 'safe'),
|
||
|
|
// The following rule is used by search().
|
||
|
|
// Please remove those attributes that should not be searched.
|
||
|
|
array('id, id_usuario, id_producto, estado, fecha_inicio, fecha_fin', '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(
|
||
|
|
'producto' => array(self::BELONGS_TO, 'Producto', 'id_producto'),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return array customized attribute labels (name=>label)
|
||
|
|
*/
|
||
|
|
public function attributeLabels() {
|
||
|
|
return array(
|
||
|
|
'id' => 'ID',
|
||
|
|
'id_usuario' => 'Id Usuario',
|
||
|
|
'id_producto' => 'Id Producto',
|
||
|
|
'estado' => 'Estado',
|
||
|
|
'fecha_inicio' => 'Fecha Inicio',
|
||
|
|
'fecha_fin' => 'Fecha Fin',
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function scopes() {
|
||
|
|
return array(
|
||
|
|
'activa' => array(
|
||
|
|
'condition' => 'estado = ' . self::ESTADO_ACTIVO,
|
||
|
|
'limit' => 1
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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('id_usuario', $this->id_usuario);
|
||
|
|
$criteria->compare('id_producto', $this->id_producto);
|
||
|
|
$criteria->compare('estado', $this->estado, true);
|
||
|
|
$criteria->compare('fecha_inicio', $this->fecha_inicio, true);
|
||
|
|
$criteria->compare('fecha_fin', $this->fecha_fin, true);
|
||
|
|
|
||
|
|
return new CActiveDataProvider($this, array(
|
||
|
|
'criteria' => $criteria,
|
||
|
|
));
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|