Вы можете попытаться получить значение фильтров из запроса:
$queryFilters = $request->query('filters')
Параметр имеет кодировку base64 и json, поэтому вам придется сначала декодировать его.Взгляните на Laravel\Nova\Http\Requests\DecodesFilters
в качестве ссылки.
Ваше вычисленное поле может выглядеть примерно так:
Text::make('Views', function () use ($request) {
$queryFilters = $request->query('filters');
$decodedFilters = collect(json_decode(base64_decode($queryFilters), true));
$computed = $decodedFilters->map(function ($filter) {
return $this->getViewsBetween($filter['value']);
});
if ($computed->isEmpty()) {
return $this->getViewsCount();
}
return $computed->implode(',');
})
Обновление: $decodedFilters
содержит класс и значение для выбранных фильтров.
Illuminate\Support\Collection {
#items: array:1 [
0 => array:2 [
"class" => "App\Nova\Filters\UserType"
"value" => "admin"
]
]
}