Фильтр по ненулевому значению в Laravel Nova - PullRequest
2 голосов
/ 18 апреля 2019

Я пытаюсь реализовать базовый фильтр, используя Laravel Nova.Фильтр просматривает поле «onboarded_at», которое является полем даты и времени.Если у атрибута есть метка времени, он встроен, а если нет, то нет.

Вот мой фильтр:

public function apply(Request $request, $query, $value)
{
    return $query->where('onboarded_at', $value);
}

public function options(Request $request)
{
    return [
        'Onboarded' => !NULL, // How would I indicate a non-null value here?
        'Not Onboarded' => NULL,
    ];
}

Как бы я указал ненулевое значение вфункция опций?

1 Ответ

1 голос
/ 19 апреля 2019

Используйте параметр $value для изменения запроса по желанию:

public function apply(Request $request, $query, $value)
{
    if($value) {
        return $query->whewhereNotNull('onboarded_at');
    }
    return $query->whereNull('onboarded_at');
}

public function options(Request $request)
{
    return [
        'Onboarded' => 1,
        'Not Onboarded' => 0,
    ];
}
...