From bb5b7ddd4e6115f62dd84e0adf7a6dc272300eb7 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Mon, 29 Jan 2024 18:44:46 +0100 Subject: [PATCH] feat: Add venue description to Venue API and update form view (#72ea2ba) In the VenueController, the Venue API now includes a description of the venue by concatenating the city name and street. This change is reflected in the 'bitcoin-event-form' view where the 'option-description' attribute now uses the venue's description instead of the city name. --- app/Http/Controllers/Api/VenueController.php | 39 ++++++++++--------- .../form/bitcoin-event-form.blade.php | 2 +- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/app/Http/Controllers/Api/VenueController.php b/app/Http/Controllers/Api/VenueController.php index 72cb720f..8995445e 100644 --- a/app/Http/Controllers/Api/VenueController.php +++ b/app/Http/Controllers/Api/VenueController.php @@ -17,26 +17,27 @@ class VenueController extends Controller public function index(Request $request) { return Venue::query() - ->with(['city:id,name,country_id', 'city.country:id,name,code']) - ->select('id', 'name', 'city_id') - ->orderBy('name') - ->when( - $request->search, - fn(Builder $query) => $query - ->where('name', 'ilike', "%{$request->search}%") - ) - ->when( - $request->exists('selected'), - fn(Builder $query) => $query->whereIn('id', - $request->input('selected', [])), - fn(Builder $query) => $query->limit(10) - ) - ->get() - ->map(function (Venue $venue) { - $venue->flag = asset('vendor/blade-country-flags/4x3-'.$venue->city->country->code.'.svg'); + ->with(['city:id,name,country_id', 'city.country:id,name,code']) + ->select('id', 'name', 'city_id') + ->orderBy('name') + ->when( + $request->search, + fn(Builder $query) => $query + ->where('name', 'ilike', "%{$request->search}%") + ) + ->when( + $request->exists('selected'), + fn(Builder $query) => $query->whereIn('id', + $request->input('selected', [])), + fn(Builder $query) => $query->limit(10) + ) + ->get() + ->map(function (Venue $venue) { + $venue->flag = asset('vendor/blade-country-flags/4x3-' . $venue->city->country->code . '.svg'); + $venue->description = $venue->city->name . ', ' . $venue->street; - return $venue; - }); + return $venue; + }); } /** diff --git a/resources/views/livewire/bitcoin-event/form/bitcoin-event-form.blade.php b/resources/views/livewire/bitcoin-event/form/bitcoin-event-form.blade.php index 8160c39a..6e486b0e 100644 --- a/resources/views/livewire/bitcoin-event/form/bitcoin-event-form.blade.php +++ b/resources/views/livewire/bitcoin-event/form/bitcoin-event-form.blade.php @@ -79,7 +79,7 @@ ]" option-label="name" option-value="id" - option-description="city.name" + option-description="description" />