sort by coursesEvents

This commit is contained in:
Benjamin Takats
2023-01-15 15:02:15 +01:00
parent bceae06176
commit 002879b375
3 changed files with 32 additions and 25 deletions

View File

@@ -26,29 +26,31 @@ class EventTable extends Component
{ {
return view('livewire.school.event-table', [ return view('livewire.school.event-table', [
'markers' => CourseEvent::query() 'markers' => CourseEvent::query()
->with([ ->with([
'course', 'course',
'venue.city.country', 'venue.city.country',
]) ])
->where(fn($query) => $query ->where('from', '>=', now())
->whereHas('venue.city.country', ->where(fn($query) => $query
fn($query) => $query->where('countries.code', $this->country->code)) ->whereHas('venue.city.country',
) fn($query) => $query->where('countries.code', $this->country->code))
->get() )
->map(fn($event) => [ ->get()
'id' => $event->id, ->map(fn($event) => [
'name' => $event->course->name, 'id' => $event->id,
'coords' => [$event->venue->city->latitude, $event->venue->city->longitude], 'name' => $event->course->name,
]), 'coords' => [$event->venue->city->latitude, $event->venue->city->longitude],
]),
'events' => CourseEvent::query() 'events' => CourseEvent::query()
->get() ->where('from', '>=', now())
->map(fn($event) => [ ->get()
'id' => $event->id, ->map(fn($event) => [
'startDate' => $event->from, 'id' => $event->id,
'endDate' => $event->to, 'startDate' => $event->from,
'location' => $event->course->name, 'endDate' => $event->to,
'description' => $event->venue->name, 'location' => $event->course->name,
]), 'description' => $event->venue->name,
]),
])->layout('layouts.app', [ ])->layout('layouts.app', [
'SEOData' => new SEOData( 'SEOData' => new SEOData(
title: __('Dates'), title: __('Dates'),

View File

@@ -22,14 +22,18 @@ class LecturerLandingPage extends Component
{ {
return view('livewire.school.lecturer-landing-page', [ return view('livewire.school.lecturer-landing-page', [
'courseEvents' => CourseEvent::query() 'courseEvents' => CourseEvent::query()
->where('from', '>=', now())
->whereHas('course', function ($query) { ->whereHas('course', function ($query) {
$query->where('lecturer_id', $this->lecturer->id); $query->where('lecturer_id', $this->lecturer->id);
}) })
->orderBy('from')
->get(), ->get(),
'events' => CourseEvent::query() 'events' => CourseEvent::query()
->where('from', '>=', now())
->whereHas('course', function ($query) { ->whereHas('course', function ($query) {
$query->where('lecturer_id', $this->lecturer->id); $query->where('lecturer_id', $this->lecturer->id);
}) })
->orderBy('from')
->get() ->get()
->map(fn($event) => [ ->map(fn($event) => [
'id' => $event->id, 'id' => $event->id,

View File

@@ -164,10 +164,11 @@ class EventTable extends DataTableComponent
{ {
return CourseEvent::query() return CourseEvent::query()
->withCount([ ->withCount([
'registrations', 'registrations',
]) ])
->where('from', '>=', now())
->whereHas('venue.city.country', ->whereHas('venue.city.country',
fn($query) => $query->where('countries.code', $this->country)); fn($query) => $query->where('countries.code', $this->country));
} }
public function viewHistoryModal($modelId): void public function viewHistoryModal($modelId): void