28 lines
1.1 KiB
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'); }
|
|
} |