netgescon-day0/app/Models/TicketInterventoSessione.php

80 lines
2.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class TicketInterventoSessione extends Model
{
use HasFactory;
protected $table = 'ticket_intervento_sessioni';
protected $fillable = [
'ticket_intervento_id',
'ticket_id',
'fornitore_id',
'fornitore_dipendente_id',
'created_by_user_id',
'closed_by_user_id',
'session_type',
'note',
'started_at',
'ended_at',
'duration_minutes',
'start_latitude',
'start_longitude',
'start_accuracy_meters',
'start_source',
'end_latitude',
'end_longitude',
'end_accuracy_meters',
'end_source',
'geo_payload',
];
protected $casts = [
'started_at' => 'datetime',
'ended_at' => 'datetime',
'duration_minutes' => 'integer',
'start_latitude' => 'decimal:7',
'start_longitude' => 'decimal:7',
'start_accuracy_meters' => 'integer',
'end_latitude' => 'decimal:7',
'end_longitude' => 'decimal:7',
'end_accuracy_meters' => 'integer',
'geo_payload' => 'array',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
public function intervento()
{
return $this->belongsTo(TicketIntervento::class, 'ticket_intervento_id');
}
public function ticket()
{
return $this->belongsTo(Ticket::class, 'ticket_id');
}
public function fornitore()
{
return $this->belongsTo(Fornitore::class, 'fornitore_id');
}
public function dipendente()
{
return $this->belongsTo(FornitoreDipendente::class, 'fornitore_dipendente_id');
}
public function createdByUser()
{
return $this->belongsTo(User::class, 'created_by_user_id');
}
public function closedByUser()
{
return $this->belongsTo(User::class, 'closed_by_user_id');
}
}