Všetky balíky
Appointments for Laravel
Dotazovanie
Model Appointment obsahuje scopes pre bežné dotazy nad rozvrhom:
use RoundlyConsulting\Appointments\Enums\Status;
use RoundlyConsulting\Appointments\Models\Appointment;
Appointment::query()->upcoming()->forParticipant($user)->ordered()->get();
Appointment::query()->between($from, $to)->get();
Appointment::query()->overlapping($start, $end)->get();
Appointment::query()->withStatus(Status::Confirmed, Status::Completed)->get();
Appointment::query()->past()->get();| Scope | Filter |
|---|---|
upcoming() | starts_at teraz alebo neskôr. |
past() | starts_at pred týmto okamihom. |
between($from, $to) | starts_at medzi dvoma okamihmi, vrátane. |
overlapping($start, $end) | Začína pred $end a končí po $start (alebo nemá koniec). Nadväzujúce intervaly sa neprekrývajú. |
withStatus(Status ...$statuses) | Ktorýkoľvek z daných stavov — variadický. |
forParticipant(Model $participant) | Termíny, na ktorých sa daný model zúčastňuje. |
ordered() | Zoradené podľa starts_at, od najskoršieho. |
withinRadius(Coordinates $center, float $km) | Miesto konania v ohraničujúcom obdĺžniku okruhu — z geolocation-for-laravel. |
Rozvrh konkrétneho modelu
HasAppointments vracia query builder, takže rovnaké scopes nadviažete na akýkoľvek model účastníka:
// the same scopes chain off HasAppointments
$user->appointments()->upcoming()->withStatus(Status::Confirmed)->ordered()->get();
$room->appointments()->overlapping($start, $end)->exists();Časové scopes porovnávajú so stĺpcami v UTC, takže ich argumenty Carbon môžu byť v ľubovoľnom pásme. Termíny zmazané cez soft delete vylúči scope SoftDeletes z Eloquentu, rovnako ako všade inde v Laraveli.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.