arcos-backend/app/Models/AlertaRobo.php
Juan Felipe Zapata Moreno 1b4eba2c6c laravel reverb
2026-01-10 08:51:36 -06:00

74 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class AlertaRobo extends Model
{
protected $table = 'alertas_robos';
protected $fillable = [
'fast_id',
'vin',
'placa',
'marca',
'modelo',
'color',
'arco_id',
'arco_nombre',
'antena',
'fecha_deteccion',
'visto',
'usuario_id',
'fecha_confirmacion',
];
protected $casts = [
'visto' => 'boolean',
'fecha_deteccion' => 'datetime',
'fecha_confirmacion' => 'datetime',
];
/**
* Relación con el arco
*/
public function arco(): BelongsTo
{
return $this->belongsTo(Arco::class, 'arco_id');
}
/**
* Relación con el usuario que confirmó
*/
public function usuario(): BelongsTo
{
return $this->belongsTo(User::class, 'usuario_id');
}
/**
* Scope para obtener alertas pendientes (no vistas)
*/
public function scopePendientes($query)
{
return $query->where('visto', false);
}
/**
* Scope para obtener alertas vistas
*/
public function scopeVistas($query)
{
return $query->where('visto', true);
}
/**
* Scope para ordenar por más reciente
*/
public function scopeRecientes($query)
{
return $query->orderBy('fecha_deteccion', 'desc');
}
}