From 5c8d54fbe837a426bddff4663ef57057580682ec Mon Sep 17 00:00:00 2001 From: Benjamin Takats Date: Tue, 17 Jan 2023 19:44:41 +0100 Subject: [PATCH] plebs count --- app/Http/Livewire/Tables/MeetupTable.php | 5 +++++ app/Models/Meetup.php | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Http/Livewire/Tables/MeetupTable.php b/app/Http/Livewire/Tables/MeetupTable.php index 6b9f06ed..aa5e8313 100644 --- a/app/Http/Livewire/Tables/MeetupTable.php +++ b/app/Http/Livewire/Tables/MeetupTable.php @@ -53,6 +53,9 @@ class MeetupTable extends DataTableComponent ) ->searchable(fn($builder, $term) => $builder->where('meetups.name', 'ilike', '%'.$term.'%')) ->sortable(), + Column::make(__('Plebs')) + ->label(fn($row, Column $column) => $row->users_count) + ->collapseOnMobile(), Column::make(__('Links')) ->label( fn($row, Column $column) => view('columns.meetups.action') @@ -68,7 +71,9 @@ class MeetupTable extends DataTableComponent return Meetup::query() ->whereHas('city.country', fn($query) => $query->where('code', $this->country)) ->withCount([ + 'users', 'meetupEvents' => fn($query) => $query->where('start', '>=', now()), + ]) ->orderBy('meetup_events_count', 'desc'); } diff --git a/app/Models/Meetup.php b/app/Models/Meetup.php index 1e3206e6..619b61f7 100644 --- a/app/Models/Meetup.php +++ b/app/Models/Meetup.php @@ -29,8 +29,8 @@ class Meetup extends Model implements HasMedia * @var array */ protected $casts = [ - 'id' => 'integer', - 'city_id' => 'integer', + 'id' => 'integer', + 'city_id' => 'integer', 'github_data' => 'json', ]; @@ -75,6 +75,11 @@ class Meetup extends Model implements HasMedia return $this->belongsTo(User::class, 'created_by'); } + public function users() + { + return $this->belongsToMany(User::class); + } + public function city(): BelongsTo { return $this->belongsTo(City::class);