75 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Record extends Model
{
use HasFactory;
protected $fillable = [
'folio',
'vehicle_id',
'user_id',
'module_id',
'error_id',
'api_response',
'error_occurred_at',
];
protected $casts = [
'api_response' => 'array',
'error_occurred_at' => 'datetime',
];
public function vehicle()
{
return $this->belongsTo(Vehicle::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
public function files()
{
return $this->hasMany(File::class);
}
public function error()
{
return $this->belongsTo(Error::class);
}
public function module()
{
return $this->belongsTo(Module::class);
}
public function vehicleTagLog()
{
return $this->hasManyThrough(
VehicleTagLog::class,
Vehicle::class,
'id',
'vehicle_id',
'vehicle_id',
'id'
);
}
/**
* Filtra registros por módulo del usuario
*/
public function scopeForUserModule($query, $user)
{
if ($user->hasRole('admin')) {
return $query;
}
return $query->where('module_id', $user->module_id);
}
}