trip-planner/backend/app/Models/Trip.php

41 lines
907 B
PHP
Raw Normal View History

2025-09-27 03:59:37 +02:00
<?php
namespace App\Models;
2025-09-27 11:14:43 +02:00
use Illuminate\Database\Eloquent\Factories\HasFactory;
2025-09-27 03:59:37 +02:00
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
2025-09-28 13:31:43 +02:00
use Illuminate\Database\Eloquent\Relations\HasMany;
2025-09-27 03:59:37 +02:00
class Trip extends Model
{
2025-09-27 11:14:43 +02:00
use HasFactory;
2025-09-27 03:59:37 +02:00
protected $fillable = [
'name',
'description',
'start_date',
'end_date',
'created_by_user_id'
];
protected $casts = [
'start_date' => 'date',
'end_date' => 'date',
];
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'created_by_user_id');
}
2025-09-28 13:31:43 +02:00
public function plannableItems(): HasMany
{
return $this->hasMany(PlannableItem::class);
}
public function calendarSlots(): HasMany
{
return $this->hasMany(CalendarSlot::class)->orderBy('slot_date')->orderBy('slot_order');
}
2025-09-27 03:59:37 +02:00
}