我试图限制在 BelongsTo
选择中为 Set
资源返回的状态数量。我的状态表使用 parent_id
来确定将哪些状态组合在一起。
当我创建一个新集合时,我希望只看到相关模型中的状态,而不是加载表中的所有状态。
我曾尝试使用 fillUsing
和 displayUsing
来缩小结果范围,但没有奏效。
以下是相关来源。
public function fields(Request $request)
{
return [
ID::make(__('ID'), 'id')->sortable(),
BelongsTo::make(__('Status'), 'status'),
];
}
public function status()
{
return $this->belongsTo(Status::class)
->where('parent_id', 5);
}
答案 0 :(得分:0)
我在发帖一小时后就想通了。
您需要覆盖 Nova 资源上的 indexQuery
函数 - Set
public static function indexQuery(NovaRequest $request, $query)
{
return $query->where('parent_id', 5);
}