Введение в фильтрацию данных 0:00 Объяснение работы фильтра на основе записей. Пример фильтрации по году публикации. Усложнение фильтрации с добавлением атрибутов.
Создание интерфейса для фильтрации 0:56 Необходимость создания интерфейса для передачи запросов. Пример создания запроса с использованием request. Создание фильтра request для передачи значений.
Пример запроса и его обработка 1:54 Создание фильтра request с атрибутами тайтл, контент, изображение, категория, теги. Пример запроса с использованием категории и её значения. Обработка запроса и отображение результатов.
Динамический запрос и безопасность 3:51 Создание динамичного запроса с использованием query string. Пример динамического запроса с категориями. Проверка безопасности запроса без передачи значений.
Фильтрация по контенту 5:48 Пример фильтрации по тайтлу с использованием оператора поиска. Пример поиска по тексту с использованием специальных символов. Проверка результатов фильтрации по тайтлу и тексту.
Шаблонный подход к фильтрации 9:45 Введение в шаблонный подход к фильтрации. Создание папки filters и классов для реализации шаблона. Основные классы: abstract filter, filter interface, post filter.
Реализация абстрактного класса 11:51 Описание свойств и методов абстрактного класса. Инициализация и вызов get callback. Работа с массивом методов для каждого ключа.
Работа с методами и параметрами 13:47 Проверка соответствия параметров каждому ключу. Вызов методов с параметрами. Пример вызова метода с параметрами для каждого ключа.
Создание класса для фильтра 14:44 Создаем папку для директории trade. Создаем класс с именем FielderApple. Добавляем метод filter с использованием builder и интерфейса.
Реализация метода filter 15:44 Метод filter принимает builder и интерфейс. Метод filter автоматически добавляется к моделям. Пример вызова метода filter в трейте trade.
Константы для фильтрации 16:42 Прописываем константы для ключей, которые будем фильтровать. Примеры ключей: title, content, category_id.
Реализация метода getQuery 17:42 Метод getQuery возвращает массив методов для фильтрации. Пример метода для фильтрации по title.
Проверка работы фильтра 20:27 Создаем фильтр на основе класса PostFilter. Передаем параметры в фильтр. Проверяем работу фильтра на практике.
Исправление ошибок и проверка 22:24 Исправление ошибки с методом getQuery. Проверка работы фильтра по title и category_id.
Подключение pagination 24:21 Вместо get используем getPaginated. Исправляем проблему с сохранением фильтра при переходе на следующую страницу.
Заключение 26:14 Рекомендация создать фильтры по всем атрибутам. Анализ работы фильтров для лучшего понимания. Переход к следующему уроку.