Laravel filament ile bir admin panel kodlaması yapıyorum da 2 gün olunca öğrenmeye başlayalı biraz takıldığım bir yer oldu 😃
Şimdi aşağıda ki verdiğim kodlarım da City seçildiğin de Ona bağlı olan ilçeleri listelemek istiyorum.
Bu paketi kullandım city ve district'i almak için
https://github.com/epigra/tr-geozones
Fakat nasıl yapabileceğimi bilemedim tam. Yardımcı olabilir misiniz
Modelimin içi
public function city()
{
return $this->belongsTo(City::class);
}
public function districts()
{
return $this->hasMany(CityDistrict::class);
}
Resource Dosyamın içi
return $form
->schema([
Card::make()->schema([
TextInput::make('first_name'),
TextInput::make('last_name'),
TextInput::make('email'),
TextInput::make('phone'),
TextInput::make('address'),
BelongsToSelect::make('name')
->relationship('city', 'name')->required()->label('Bağlı Olacağı Kullanıcıyı Seçiniz'),
BelongsToSelect::make('name')
->relationship('districts', 'name')->required()->label('Bağlı Olacağı Kullanıcıyı Seçiniz'), TextInput::make('password')
->password()
->maxLength(255)
->dehydrateStateUsing(static fn(null|string $state):
null|string => filled($state) ? Hash::make($state) : null,)
->required(static fn(Page $livewire): string => $livewire instanceof CreateUser)
->dehydrated(static fn(null|string $state): bool => filled($state),
)->label(static fn(Page $livewire): string => ($livewire instanceof EditUser) ? 'Yeni Şifreniz' : 'Şifreniz'),
BelongsToSelect::make('user_id')
->relationship('user', 'name')->required()->label('Bağlı Olacağı Kullanıcıyı Seçiniz'),
])
]);