我有一个Laravel Nova资源,它里面有一个名为views的计算值 . 我想添加一个Nova过滤器,它可以影响计算值的结果(不是查询本身),但无法弄清楚如何执行此操作 .
我的计算值如下所示:
Text::make('Views', function() {
return $this->getViewsCount();
}),
我希望能够做到这样的事情:
Text::make('Views', function() {
if(isset($filterValue)) {
return $this->getViewsBetween($filterValue);
} else {
return $this->getViewsCount();
}
}
1 回答
您可以尝试从请求中获取过滤器值:
参数是base64和json编码,所以你必须先解码它 . 看一下
Laravel\Nova\Http\Requests\DecodesFilters
作为参考 .您的计算字段可能如下所示:
更新:
$decodedFilters
保存所选过滤器的类和值 .