Почему фильтры построителя запросов laravel/spatie с нулевым значением не работают [дубликат] ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Почему фильтры построителя запросов laravel/spatie с нулевым значением не работают [дубликат]

Сообщение Anonymous »

Я пытался отфильтровать свой построитель запросов с нулевым значением
Я сделал это:

Код: Выделить всё

return QueryBuilder::for(Invoice::class)
->allowedIncludes('equipments')
->allowedFilters(
AllowedFilter::partial('endDate')->nullable()
)
->get();
Но я не получаю никаких результатов
Чтобы это исправить, я отредактировал метод getFilterValue в вендоре/spatie/laravel-query-builder/ src/QueryBuilderRequest.php и добавлен

Код: Выделить всё

if ($value === "null") {
return null;
}
На самом деле это работает, но если у кого-то есть лучшее решение, я воспользуюсь им
ОБНОВЛЕНИЕ

Код: Выделить всё

$dateTimeCallback = function (Builder $query, $value, $property) {
if ($value === 'null') {
$query->where($property, '=', null);
} else {
$query->where($property, 'LIKE', '%' . $value . '%');
}
};

return QueryBuilder::for(Facture::class)
->allowedIncludes('equipements')
->allowedFilters(
AllowedFilter::callback('endDate', $dateTimeCallback)
)
->get();
Я сделал что-то подобное, и это тоже работает

Подробнее здесь: https://stackoverflow.com/questions/791 ... osent-work

Вернуться в «Php»