У меня есть модель заказа, и я хочу иметь возможность создать два поиска.
- Один, который ищет только неполные заказы.
- Один, который ищет только завершенные заказы.
Я ожидал, что это будет просто, но, похоже, нет!
В моей таблице заказов есть поле complete_at, в котором указана дата завершения,или ноль, когда нет.Встроенный метод Order::Search->where()
не позволяет предоставить компаратор, а также не принимает значение NULL ... так что это не работает!
Мне было интересно создать несколько индексовдля модели, а затем ->within('open_orders')
функция для поиска правильной.Кажется, что это может обеспечить большую гибкость, но я также не вижу способа достичь этого.
Нечто подобное в модели было бы замечательно (но это не работает)
public function searchableAs()
{
if($this->isOpen()){
return 'open_orders_index';
} else {
return 'complete_orders_index';
}
}
Кто-нибудь может предложить какие-либо обходные пути для предварительной фильтрации поискового запроса?