From 3cb6c8c30adfe9711315b13838db124b0535df4d Mon Sep 17 00:00:00 2001 From: suhaimim Date: Sat, 16 Dec 2023 17:36:13 +0800 Subject: [PATCH] Fixes the select dependencies issues. --- app/Filament/Resources/AhliKariahResource.php | 12 ++++--- app/Filament/Resources/TanggunganResource.php | 35 ++++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/app/Filament/Resources/AhliKariahResource.php b/app/Filament/Resources/AhliKariahResource.php index eb6c43e..7e4157f 100644 --- a/app/Filament/Resources/AhliKariahResource.php +++ b/app/Filament/Resources/AhliKariahResource.php @@ -2,8 +2,11 @@ namespace App\Filament\Resources; +// use App\Filament\Resources\NegeriResource; use App\Filament\Resources\AhliKariahResource\Pages; use App\Filament\Resources\AhliKariahResource\RelationManagers; +use App\Models\Negeri; +use App\Models\Bandar; use App\Models\AhliKariah; use Filament\Forms; use Filament\Forms\Form; @@ -45,16 +48,15 @@ public static function form(Form $form): Form ->pluck('name', 'id')) ->searchable() // ->preload() - // ->live() + ->live() ->required(), Forms\Components\Select::make('bandar_id') ->label('Nama Bandar') - // ->options(fn(Get $get): Collection => Bandar::query() - // ->where('negeri_id', $get('negeri_id')) - // ->pluck('name', 'id')) + ->options(fn(Get $get): Collection => Bandar::query() + ->where('negeri_id', $get('negeri_id')) + ->pluck('name', 'id')) ->searchable() // ->preload() - ->live() ->required(), Forms\Components\TextInput::make('name_penuh') ->required() diff --git a/app/Filament/Resources/TanggunganResource.php b/app/Filament/Resources/TanggunganResource.php index cbd35c6..8d2dd9a 100644 --- a/app/Filament/Resources/TanggunganResource.php +++ b/app/Filament/Resources/TanggunganResource.php @@ -4,10 +4,15 @@ use App\Filament\Resources\TanggunganResource\Pages; use App\Filament\Resources\TanggunganResource\RelationManagers; +use App\Models\Negeri; +use App\Models\Bandar; use App\Models\Tanggungan; use Filament\Forms; use Filament\Forms\Form; +use Filament\Forms\Get; +use Filament\Forms\Components\Select; use Filament\Resources\Resource; +use Illuminate\Support\Collection; use Filament\Tables; use Filament\Tables\Table; use Illuminate\Support\HtmlString; @@ -29,22 +34,28 @@ public static function form(Form $form): Form return $form ->schema([ Forms\Components\Select::make('negara_id') - ->label('Nama Negara') - ->relationship(name: 'negara', titleAttribute: 'name') - ->searchable() - // ->preload() - ->required(), + ->label('Nama Negara') + ->relationship(name: 'negara', titleAttribute: 'name') + ->searchable() + // ->preload() + ->live() + ->required(), Forms\Components\Select::make('negeri_id') ->label('Nama Negeri') - ->relationship(name: 'negeri', titleAttribute: 'name') + ->options(fn(Get $get): Collection => Negeri::query() + ->where('negara_id', $get('negara_id')) + ->pluck('name', 'id')) ->searchable() - // ->preload() + // ->preload() + ->live() ->required(), Forms\Components\Select::make('bandar_id') ->label('Nama Bandar') - ->relationship(name: 'bandar', titleAttribute: 'name') + ->options(fn(Get $get): Collection => Bandar::query() + ->where('negeri_id', $get('negeri_id')) + ->pluck('name', 'id')) ->searchable() - // ->preload() + // ->preload() ->required(), Forms\Components\Select::make('ahli_kariah_id') ->label('NRIC Penjaga') @@ -134,9 +145,9 @@ public static function getPages(): array { return [ 'index' => Pages\ListTanggungans::route('/'), - 'create' => Pages\CreateTanggungan::route('/create'), - 'view' => Pages\ViewTanggungan::route('/{record}'), - 'edit' => Pages\EditTanggungan::route('/{record}/edit'), + // 'create' => Pages\CreateTanggungan::route('/create'), + // 'view' => Pages\ViewTanggungan::route('/{record}'), + // 'edit' => Pages\EditTanggungan::route('/{record}/edit'), ]; } }