Обзор
Фильтрация по полю
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
будут работать.