Таблица вне панели в Filament
Давайте поставим таблицу вне панели.
Список откроем на
/workers
через Livewire, без раздела
admin.
Класс WorkerList.php
подключит HasTable
и trait InteractsWithTable.
Метод table задаст
запрос Worker::query
и колонку name:
<?php
namespace App\Livewire;
use App\Models\Worker;
use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Schemas\Concerns\InteractsWithSchemas;
use Filament\Schemas\Contracts\HasSchemas;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Concerns\InteractsWithTable;
use Filament\Tables\Contracts\HasTable;
use Filament\Tables\Table;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class WorkerList extends Component implements HasActions, HasSchemas, HasTable
{
use InteractsWithActions;
use InteractsWithSchemas;
use InteractsWithTable;
public function table(Table $table): Table
{
return $table
->query(Worker::query())
->columns([
TextColumn::make('name'),
]);
}
public function render(): View
{
return view('livewire.worker-list');
}
}
?>
В шаблоне компонента выведем
таблицу свойством table:
<div>
{{ $this->table }}
</div>
На странице workers.blade.php
подключим компонент списка:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Workers</title>
</head>
<body>
@livewire('worker-list')
</body>
</html>
Покажите список работников на обычной странице сайта.