Nova filter that displays a Date Range Picker instead of a select.
Run this command in your nova project:
composer require owen-soak/nova-date-range-filter
Just use DateRangeFilter class instead of Filter
use Owensoak\Filters\DateRangeFilter;
class DateRange extends DateRangeFilter
{
public function apply(Request $request, $query, $value)
{
$from = Carbon::parse($value[0])->startOfDay();
$to = Carbon::parse($value[1])->endOfDay();
return $query->whereBetween('created_at', [$from, $to]);
}
/**
* Get the filter's available options.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
// public function options(Request $request)
// {
// return [
// 'firstDayOfWeek' => 0,
// 'separator' => '-',
// 'enableTime' => false,
// 'enableSeconds' => false,
// 'twelveHourTime' => false
// ];
// }
}
Use fluent interface to configure your DateRange filter
(new DateRange)->placeholder("Placeholder")->dateFormat("m d Y")