some new tables

This commit is contained in:
Benjamin Takats
2022-12-01 00:52:07 +01:00
parent bfcbef9854
commit 0efbcd1faa
10 changed files with 135 additions and 18 deletions

View File

@@ -3,11 +3,13 @@
namespace App\Http\Livewire\Frontend;
use App\Models\Country;
use Illuminate\Support\Facades\Route;
use Livewire\Component;
class Header extends Component
{
public Country $country;
public $currentRouteName;
public string $c = 'de';
public function rules()
@@ -19,12 +21,13 @@ class Header extends Component
public function mount()
{
$this->currentRouteName = Route::currentRouteName();
$this->c = $this->country->code;
}
public function updatedC($value)
{
return to_route('search.cities', ['country' => $value]);
return to_route($this->currentRouteName, ['country' => $value]);
}
public function render()

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Http\Livewire\Frontend;
use App\Models\Country;
use Livewire\Component;
class SearchVenue extends Component
{
public Country $country;
public function render()
{
return view('livewire.frontend.search-venue');
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace App\Http\Livewire\Tables;
use App\Models\Course;
use Illuminate\Database\Eloquent\Builder;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
class CourseTable extends DataTableComponent
{
protected $model = Course::class;
public function configure(): void
{
$this->setPrimaryKey('id');
}
public function columns(): array
{
return [
Column::make("Id", "id")
->sortable(),
Column::make("Lecturer id", "lecturer_id")
->sortable(),
Column::make("Name", "name")
->sortable(),
Column::make("Created at", "created_at")
->sortable(),
Column::make("Updated at", "updated_at")
->sortable(),
];
}
public function builder(): Builder
{
return Course::query()
->whereHas('country', fn($query) => $query->where('code', $this->country));
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Http\Livewire\Tables;
use App\Models\Venue;
use Illuminate\Database\Eloquent\Builder;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
class VenueTable extends DataTableComponent
{
public string $country;
protected $model = Venue::class;
public function configure(): void
{
$this->setPrimaryKey('id');
}
public function columns(): array
{
return [
Column::make("City id", "city_id")
->sortable(),
Column::make("Name", "name")
->sortable(),
Column::make("Street", "street")
->sortable(),
];
}
public function builder(): Builder
{
return Venue::query()
->whereHas('city.country', fn($query) => $query->where('code', $this->country));
}
}