Incam_PROFIND_Web/www/protected/models/Subscripcion.php

108 lines
3.4 KiB
PHP
Raw Normal View History

<?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,
));
}
}