Miesto konania
Podporu miesta konania prináša geolocation-for-laravel, zapojený do modelu z balíka: stĺpec location pre názov miesta a latitude s longitude dostupné ako value objekt Coordinates:
use RoundlyConsulting\Appointments\Facades\Appointments;
use RoundlyConsulting\Appointments\Models\Appointment;
use RoundlyConsulting\Geolocation\DataTransferObjects\Coordinates;
$appointment = Appointments::schedule('Clinic visit')
->startingAt('2026-07-01 09:00')
->located(51.5074, -0.1278, 'Clinic A') // latitude, longitude, venue name
->create();
$appointment->coordinates; // Coordinates value object (or null)
$appointment->location; // 'Clinic A'
$appointment->distanceFrom(new Coordinates(48.8566, 2.3522)); // kilometres, or null
Appointment::query()->withinRadius(new Coordinates(51.5074, -0.1278), 10)->get();Nastavenie miesta
- located($latitude, $longitude, ?$venue) — súradnice a voliteľne názov miesta.
- at(Coordinates $coordinates) — súradnice z value objektu.
- venue(string $location) — iba názov miesta.
Appointments::schedule('Team offsite')
->startingAt('2026-09-10 10:00')
->at(new Coordinates(48.1486, 17.1077)) // coordinates only
->venue('Riverside meeting hall') // venue name only
->create();Vyhľadávanie v okruhu
withinRadius() ponechá termíny v ohraničujúcom obdĺžniku okruhu (v kilometroch) — lacný predfilter nad indexovanými stĺpcami latitude a longitude. Pre presnú hranicu výsledky dofiltrujte cez distanceFrom(), ktoré vráti vzdialenosť po hlavnej kružnici v kilometroch, alebo null pre termín bez súradníc:
$clinic = new Coordinates(48.1486, 17.1077);
$nearby = Appointment::query()
->withinRadius($clinic, 5) // bounding-box pre-filter, kilometres
->upcoming()
->get()
->filter(fn (Appointment $appointment) => $appointment->distanceFrom($clinic) <= 5);ICS export použije stĺpec location (inak meta.location) a pri nastavených súradniciach pridá riadok GEO.
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.