我正在尝试根据从另一个字段获取的输入来确定选项的范围。我如何在这个
recordSelctOptionQuery
中传递这个变量?
recordSelectOptionsQuery(
fn (Builder $query) => $query->whereBelongsTo(
Item::find('id_selected_from_a_dependent_filed')
))
参考: https://filamentphp.com/docs/2.x/admin/resources/relation-managers#attaching-and-detaching-records
要根据另一个选择字段的值动态调整一个选择字段的选项范围,您可以使用 Livewire 的反应性。
class YOURCLASSE extends Resource
public $selectedCategoryId;
protected function form(Form $form)
{
return $form->schema([
Select::make('category_id')
->options(Category::all()->pluck('name', 'id'))
->reactive()
->afterStateUpdated(fn ($state) => $this->selectedCategoryId = $state),
Select::make('sub_category_id')
->options(function () {
return $this->selectedCategoryId ? SubCategory::where('category_id', $this->selectedCategoryId)->pluck('name', 'id') : [];
}),
]);
}