mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-app.git
synced 2025-12-15 12:16:47 +00:00
🌍 Scope lecturers and courses by country across views and enhance sidebar with dynamic country flags
This commit is contained in:
@@ -32,6 +32,7 @@ class extends Component {
|
||||
->where('name', 'ilike', '%'.$this->search.'%')
|
||||
->orWhere('description', 'ilike', '%'.$this->search.'%'),
|
||||
)
|
||||
->whereHas('courseEvents.venue.city.country', fn($query) => $query->where('countries.code', request()->route('country')))
|
||||
->orderByDesc('has_future_events')
|
||||
->paginate(15),
|
||||
];
|
||||
|
||||
@@ -18,6 +18,9 @@ class extends Component {
|
||||
public function mount(): void
|
||||
{
|
||||
$this->country = request()->route('country', config('app.domain_country'));
|
||||
$this->course->load([
|
||||
'courseEvents.registrations',
|
||||
]);
|
||||
}
|
||||
|
||||
public function with(): array
|
||||
@@ -26,7 +29,10 @@ class extends Component {
|
||||
'course' => $this->course->load('lecturer'),
|
||||
'events' => $this->course
|
||||
->courseEvents()
|
||||
->with(['venue.city'])
|
||||
->with([
|
||||
'venue.city',
|
||||
'registrations',
|
||||
])
|
||||
->where('from', '>=', now())
|
||||
->orderBy('from', 'asc')
|
||||
->get(),
|
||||
|
||||
@@ -35,6 +35,9 @@ class extends Component {
|
||||
->withCount([
|
||||
'coursesEvents as future_events_count' => fn($query) => $query->where('from', '>=', now()),
|
||||
])
|
||||
->whereHas('coursesEvents')
|
||||
->whereHas('coursesEvents.venue.city.country',
|
||||
fn($query) => $query->where('countries.code', $this->country))
|
||||
->when($this->search, fn($query)
|
||||
=> $query
|
||||
->where('name', 'ilike', '%'.$this->search.'%')
|
||||
|
||||
Reference in New Issue
Block a user