Files
drivetimeplaner/api/src/Models/Appointment.php

28 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
final class Appointment extends Model
{
protected $table = 'appointments';
protected $fillable = [
'tenant_id', 'student_id', 'instructor_id', 'lesson_type_id',
'title', 'category', 'start_at', 'end_at', 'units',
'status', 'notes', 'warning_acknowledged', 'created_by', 'updated_by',
];
protected $casts = [
'student_id' => 'integer', 'instructor_id' => 'integer',
'lesson_type_id' => 'integer', 'units' => 'integer',
'warning_acknowledged' => 'integer', 'created_by' => 'integer', 'updated_by' => 'integer',
];
public function tenant(): BelongsTo { return $this->belongsTo(Tenant::class, 'tenant_id'); }
public function student(): BelongsTo { return $this->belongsTo(Student::class, 'student_id'); }
public function instructor(): BelongsTo { return $this->belongsTo(Instructor::class, 'instructor_id'); }
public function lessonType(): BelongsTo { return $this->belongsTo(LessonType::class, 'lesson_type_id'); }
}