diff --git a/app/Http/Livewire/Frontend/Header.php b/app/Http/Livewire/Frontend/Header.php index b388c9b4..6536026a 100644 --- a/app/Http/Livewire/Frontend/Header.php +++ b/app/Http/Livewire/Frontend/Header.php @@ -3,11 +3,13 @@ namespace App\Http\Livewire\Frontend; use App\Models\Country; +use Illuminate\Support\Facades\Route; use Livewire\Component; class Header extends Component { public Country $country; + public $currentRouteName; public string $c = 'de'; public function rules() @@ -19,12 +21,13 @@ class Header extends Component public function mount() { + $this->currentRouteName = Route::currentRouteName(); $this->c = $this->country->code; } public function updatedC($value) { - return to_route('search.cities', ['country' => $value]); + return to_route($this->currentRouteName, ['country' => $value]); } public function render() diff --git a/app/Http/Livewire/Frontend/SearchVenue.php b/app/Http/Livewire/Frontend/SearchVenue.php new file mode 100644 index 00000000..d9fc8c98 --- /dev/null +++ b/app/Http/Livewire/Frontend/SearchVenue.php @@ -0,0 +1,16 @@ +setPrimaryKey('id'); + } + + public function columns(): array + { + return [ + Column::make("Id", "id") + ->sortable(), + Column::make("Lecturer id", "lecturer_id") + ->sortable(), + Column::make("Name", "name") + ->sortable(), + Column::make("Created at", "created_at") + ->sortable(), + Column::make("Updated at", "updated_at") + ->sortable(), + ]; + } + + public function builder(): Builder + { + return Course::query() + ->whereHas('country', fn($query) => $query->where('code', $this->country)); + } +} diff --git a/app/Http/Livewire/Tables/VenueTable.php b/app/Http/Livewire/Tables/VenueTable.php new file mode 100644 index 00000000..46f9b4d5 --- /dev/null +++ b/app/Http/Livewire/Tables/VenueTable.php @@ -0,0 +1,38 @@ +setPrimaryKey('id'); + } + + public function columns(): array + { + return [ + Column::make("City id", "city_id") + ->sortable(), + Column::make("Name", "name") + ->sortable(), + Column::make("Street", "street") + ->sortable(), + ]; + } + + public function builder(): Builder + { + return Venue::query() + ->whereHas('city.country', fn($query) => $query->where('code', $this->country)); + } +} diff --git a/app/Models/Venue.php b/app/Models/Venue.php index d2bd6dc6..544fe9ea 100644 --- a/app/Models/Venue.php +++ b/app/Models/Venue.php @@ -11,7 +11,6 @@ class Venue extends Model /** * The attributes that are mass assignable. - * * @var array */ protected $fillable = [ @@ -23,11 +22,10 @@ class Venue extends Model /** * The attributes that should be cast to native types. - * * @var array */ protected $casts = [ - 'id' => 'integer', + 'id' => 'integer', 'city_id' => 'integer', ]; diff --git a/resources/views/livewire/frontend/header.blade.php b/resources/views/livewire/frontend/header.blade.php index 8ff775b3..0e196735 100644 --- a/resources/views/livewire/frontend/header.blade.php +++ b/resources/views/livewire/frontend/header.blade.php @@ -9,10 +9,9 @@ @auth diff --git a/resources/views/livewire/frontend/search-course.blade.php b/resources/views/livewire/frontend/search-course.blade.php index 04b21c8b..0a5b2abf 100644 --- a/resources/views/livewire/frontend/search-course.blade.php +++ b/resources/views/livewire/frontend/search-course.blade.php @@ -1,3 +1,13 @@ -