41 lines
990 B
PHP
41 lines
990 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Concerns\HasUlids;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
|
|
|
class Booking extends Model
|
|
{
|
|
use HasUlids;
|
|
|
|
protected $fillable = ['enquiry_id', 'client_id', 'dj_profile_id', 'event_date', 'total', 'deposit', 'status', 'paid_at'];
|
|
|
|
protected function casts(): array
|
|
{
|
|
return ['event_date' => 'date', 'total' => 'decimal:2', 'deposit' => 'decimal:2', 'paid_at' => 'datetime'];
|
|
}
|
|
|
|
public function enquiry(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Enquiry::class);
|
|
}
|
|
|
|
public function client(): BelongsTo
|
|
{
|
|
return $this->belongsTo(User::class, 'client_id');
|
|
}
|
|
|
|
public function djProfile(): BelongsTo
|
|
{
|
|
return $this->belongsTo(DjProfile::class);
|
|
}
|
|
|
|
public function review(): HasOne
|
|
{
|
|
return $this->hasOne(Review::class);
|
|
}
|
|
}
|