如何在Filament中将关联输入字段变量传入recordSelectOptionsQuery()
如何将关联字段变量传入Filament的recordSelectOptionsQuery
要实现基于其他字段输入筛选选项范围,你可以利用Filament提供的$livewire实例获取依赖字段的当前值,传入recordSelectOptionsQuery闭包中:
修正后的代码示例
recordSelectOptionsQuery( fn (Builder $query, $livewire) => $query->when( // 获取依赖字段的选中值 $itemId = $livewire->get('id_selected_from_a_dependent_filed'), // 当值存在时,筛选关联记录 fn ($query) => $query->whereBelongsTo(Item::find($itemId)) ) )
关键说明
- 闭包中注入的
$livewire参数可调用get()方法,传入依赖字段的名称即可获取其当前输入/选中值 - 使用
when()方法可以处理依赖字段为空的情况,避免无效查询 - 请将
id_selected_from_a_dependent_filed替换为你实际使用的依赖字段名
参考Filament 2.x官方文档中「资源关联管理器 - 附加与分离记录」章节内容。
内容的提问来源于stack exchange,提问作者shabxs
相关产品推荐
相关产品推荐

