'datetime', 'ends_at' => 'datetime', ]; public function user() { return $this->belongsTo(User::class); } public function userTask() { return $this->belongsTo(MtUserTask::class, 'user_task_id'); } public function scopeForBusiness($query, $business_id) { return $query->where('business_id', $business_id); } public function durationMinutes(): ?int { if (! $this->starts_at || ! $this->ends_at) { return null; } return $this->starts_at->diffInMinutes($this->ends_at); } public function durationFormatted(): string { $minutes = $this->durationMinutes(); if ($minutes === null) { return '—'; } $hours = intdiv($minutes, 60); $mins = $minutes % 60; return sprintf('%d:%02d', $hours, $mins); } }