sort by coursesEvents

This commit is contained in:
Benjamin Takats
2023-01-15 14:51:26 +01:00
parent cee5e7031c
commit 3e27e367b4
2 changed files with 13 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ class LecturerTable extends DataTableComponent
public function configure(): void
{
$this->setPrimaryKey('id')
->setDefaultSort('courses_events_count', 'desc')
->setThAttributes(function (Column $column) {
return [
'class' => 'px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider dark:bg-gray-800 dark:text-gray-400',
@@ -62,7 +63,9 @@ class LecturerTable extends DataTableComponent
->collapseOnMobile(),
Column::make('')
->label(
fn($row, Column $column) => view('columns.lectures.action')->withRow($row)->withCountry($this->country)
fn($row, Column $column) => view('columns.lectures.action')
->withRow($row)
->withCountry($this->country)
),
];
@@ -73,13 +76,15 @@ class LecturerTable extends DataTableComponent
return Lecturer::query()
->withCount([
'courses',
'coursesEvents',
'libraryItems',
]);
}
public function lecturerSearch($id, $event = true)
{
$lecturer = Lecturer::query()->find($id);
$lecturer = Lecturer::query()
->find($id);
if ($event) {
return to_route('school.table.event', [

View File

@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
@@ -93,6 +94,11 @@ class Lecturer extends Model implements HasMedia
return $this->hasMany(Course::class);
}
public function coursesEvents(): HasManyThrough
{
return $this->hasManyThrough(CourseEvent::class, Course::class);
}
public function libraryItems(): HasMany
{
return $this->hasMany(LibraryItem::class);