В моем проекте Laravel у меня есть следующие модели:
- Пользователь
- Отношение
- Подписка
- Резервирование
- Временной интервал
Пользователь
class User extends Authenticatable implements MustVerifyEmail
{
use Notifiable;
public function relation()
{
return $this->hasMany(Relation::class);
}
....
}
Отношение
class Relation extends Model
{
use SoftDeletes;
public function user()
{
return $this->belongsTo(User::class);
}
public function subscription()
{
return $this->hasMany(Subscription::class);
}
}
Подписка
class Subscription extends Model
{
public function relation()
{
return $this->belongsTo(Relation::class);
}
public function reservation()
{
return $this->hasMany(Reservation::class);
}
}
Резервирование (В этой модели будет сохранена следующая дата: SubscriptionId и TimeSlot)
class Reservation extends Model
{
public function subscription()
{
return $this->belongsTo(Subscription::class);
}
public function timeSlot()
{
return $this->belongsTo(TimeSlot::class);
}
}
TimeSlot (В этом модель столбцы: id, date, startTime и endTime)
class TimeSlot extends Model
{
public function reservation()
{
return $this->hasMany(SubscriptionReservation::class);
}
}
Я хочу создать обзор для каждого аутентифицированного пользователя с оговорками, которые больше, чем текущая дата. Как я могу это исправить?