<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Vehicle extends Model
{

    const COMUNE = 1;
    const MOTORIZZAZIONE_CIVILE = 2;
    const ALTRO = 3;

    const MARCA_ALTRO = 67;

    const DESTINAZIONE_USO_PRIVATO = 1;
    const DESTINAZIONE_USO_LOCAZIONE_SENZA_CONDUCENTE = 2;
    const DESTINAZIONE_USO_TAXI = 3;
    const DESTINAZIONE_USO_SERVIZO_PUBBLICO_DI_LINEA = 4;
    const DESTINAZIONE_USO_TRASPORTO_MERCI = 5;
    const DESTINAZIONE_USO_CONTO_PROPRIO = 6;
    const DESTINAZIONE_USO_CONTO_TERZI = 7;
    const DESTINAZIONE_USO_PUBBLICO = 8;
    const DESTINAZIONE_USO_SOCCORSO_POLIZIA = 9;

    use HasFactory;

    public $timestamps = false;
    protected $table = 'fcf_reports_vehicles';

    protected $fillable = [
        'tipo_id',
        'marca_id',
        'marca_altro',
        'modello_id',
        'modello_altro',
        'colore',
        'targa',
        'carta_circolazione',
        'carta_circolazione_rilasciata_da' ,
        'carta_circolazione_rilasciata_da_altro',
        'foreign_country' ,
        'carta_circolazione_rilasciata_da_di_foreign_country' ,
        'carta_circolazione_rilasciata_da_di_foreign_localita',
        'carta_circolazione_rilasciata_da_di' ,
        'carta_circolazione_rilasciata_il',
        'data_ultima_revisione' ,
        'cilindrata' ,
        'peso_complessivo',
        'destinazione_uso',
        'state',
        'created',
        'created_by',
        'updated',
        'updated_by',
        'locked' ,
        'locked_by',
    ];

    public function marca()
    {
        return $this->belongsTo(\App\Models\MarcaVeicolo::class, 'marca_id', 'id');
    }
    public function modello()
    {
        return $this->belongsTo(\App\Models\ModelloVeicolo::class, 'modello_id', 'id');
    }

    public function tipo()
    {
        return $this->belongsTo(\App\Models\TipoVeicolo::class, 'tipo_id', 'id');
    }
    public function carta_circolazione_rilasciata_da_di_value()
    {
        return $this->belongsTo(\App\Models\LocationTown::class, 'carta_circolazione_rilasciata_da_di');
    }

    public function carta_circolazione_rilasciata_da_di_foreign_localita_value()
    {
        return $this->belongsTo(\App\Models\LocationTown::class, 'carta_circolazione_rilasciata_da_di_foreign_localita', 'id');
    }
    public function getCartaCircolazioneRilasciataDaDiValueAttribute()
    {
        return $this->belongsTo(
            \App\Models\LocationTown::class,
            'carta_circolazione_rilasciata_da_di'
        )->value('title');
    }


}
