mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
sort by coursesEvents
This commit is contained in:
@@ -17,6 +17,7 @@ class LecturerTable extends DataTableComponent
|
|||||||
public function configure(): void
|
public function configure(): void
|
||||||
{
|
{
|
||||||
$this->setPrimaryKey('id')
|
$this->setPrimaryKey('id')
|
||||||
|
->setDefaultSort('courses_events_count', 'desc')
|
||||||
->setThAttributes(function (Column $column) {
|
->setThAttributes(function (Column $column) {
|
||||||
return [
|
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',
|
'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(),
|
->collapseOnMobile(),
|
||||||
Column::make('')
|
Column::make('')
|
||||||
->label(
|
->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()
|
return Lecturer::query()
|
||||||
->withCount([
|
->withCount([
|
||||||
'courses',
|
'courses',
|
||||||
|
'coursesEvents',
|
||||||
'libraryItems',
|
'libraryItems',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lecturerSearch($id, $event = true)
|
public function lecturerSearch($id, $event = true)
|
||||||
{
|
{
|
||||||
$lecturer = Lecturer::query()->find($id);
|
$lecturer = Lecturer::query()
|
||||||
|
->find($id);
|
||||||
|
|
||||||
if ($event) {
|
if ($event) {
|
||||||
return to_route('school.table.event', [
|
return to_route('school.table.event', [
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
||||||
use Spatie\Image\Manipulations;
|
use Spatie\Image\Manipulations;
|
||||||
use Spatie\MediaLibrary\HasMedia;
|
use Spatie\MediaLibrary\HasMedia;
|
||||||
use Spatie\MediaLibrary\InteractsWithMedia;
|
use Spatie\MediaLibrary\InteractsWithMedia;
|
||||||
@@ -93,6 +94,11 @@ class Lecturer extends Model implements HasMedia
|
|||||||
return $this->hasMany(Course::class);
|
return $this->hasMany(Course::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function coursesEvents(): HasManyThrough
|
||||||
|
{
|
||||||
|
return $this->hasManyThrough(CourseEvent::class, Course::class);
|
||||||
|
}
|
||||||
|
|
||||||
public function libraryItems(): HasMany
|
public function libraryItems(): HasMany
|
||||||
{
|
{
|
||||||
return $this->hasMany(LibraryItem::class);
|
return $this->hasMany(LibraryItem::class);
|
||||||
|
|||||||
Reference in New Issue
Block a user