Фильтрация по полю

ModelItem::filter('article_category_id')

Создает фильтр по полю article_category_id. Вы можете добавить параметр ?article_category_id=5 в адрес для фильтрации по данному полю.

Alias фильтра

ModelItem::filter('article_category_id')->as('category')

Создает фильтр по полю article_category_id, но исползьуется параметр запроса с названием category. Вы можете добавить параметр ?category=5 в адрес для фильтрации по данному полю.

Применение Scope

ModelItem::filter('withEmptyCategories')->scope('withoutCategories')

Данный код применит scope withoutCategories (scopeWithoutCategories($query) в модели) к запросу, если в параметрах запроса есть withEmptyCategories.

Переопределение параметра запроса

ModelItem::filter('title')->as('todo')->value('TODO category')

Создает фильтр по полю title с alias`ом todo. Фильтр игнорирует значение параметра запроса и всегда использует значение 'TODO category'.

Важно: параметр в запросе обязан иметь значение. Вы не можете активировать данный фильтр используя categories?todo, в то время как categories?todo=1 или categories?todo=something_else будут работать.