81 lines
2.1 KiB
PHP
81 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');
|
|
}
|
|
}
|