<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "cliente".
 *
 * @property int $id
 * @property string $codigo
 * @property string $nombre
 * @property string $contacto
 * @property string $direccion
 * @property int $tipo_id
 * @property string $tipo
 * @property string $distrito
 * @property string $telefono
 * @property string $fecha_exhibidor
 * @property string $vendedor
 * @property string $ruc
 * @property string $horario
 * @property string $condicion_pago
 * @property string $tipo_pago
 * @property string $fecha_ultvisita
 * @property string $comentario
 * @property string $fecha_ruta
 * @property string $fecha_registro
 * @property TipoCliente $tipo0
 */
class Cliente extends \yii\db\ActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'cliente';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['codigo', 'nombre', 'contacto', 'direccion', 'tipo', 'distrito', 'telefono'], 'required'],
            [['tipo_id'], 'integer'],
            [['fecha_exhibidor','fecha_ruta','fecha_registro'], 'safe'],
            [['comentario'], 'string'],
            [['codigo'], 'string', 'max' => 30],
            [['nombre', 'contacto', 'tipo', 'distrito'], 'string', 'max' => 300],
            [['direccion'], 'string', 'max' => 500],
            [['telefono', 'ruc', 'fecha_ultvisita'], 'string', 'max' => 20],
            [['vendedor'], 'string', 'max' => 10],
            [['horario', 'condicion_pago', 'tipo_pago'], 'string', 'max' => 50],
            [['codigo'], 'unique'],
            [['tipo_id'], 'exist', 'skipOnError' => true, 'targetClass' => TipoCliente::className(), 'targetAttribute' => ['tipo_id' => 'id']],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'codigo' => 'Codigo',
            'nombre' => 'Nombre',
            'contacto' => 'Contacto',
            'direccion' => 'Direccion',
            'tipo_id' => 'Tipo ID',
            'tipo' => 'Tipo',
            'distrito' => 'Distrito',
            'telefono' => 'Telefono',
            'fecha_exhibidor' => 'Fecha Exhibidor',
            'vendedor' => 'Vendedor',
            'ruc' => 'Ruc',
            'horario' => 'Horario',
            'condicion_pago' => 'Condicion Pago',
            'tipo_pago' => 'Tipo Pago',
            'fecha_ultvisita' => 'Fecha Ultvisita',
            'comentario' => 'Comentario',
            'fecha_ruta' => 'Fecha Ruta',
            'fecha_registro' => 'Fecha Registro'
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getTipo0()
    {
        return $this->hasOne(TipoCliente::className(), ['id' => 'tipo_id']);
    }
}
