Laravel курс с нуля, база. 30. Шаблон Filter, фильтрация данных в Laravel

YOUTUBE · 01.12.2025 04:30

Ключевые темы и таймкоды

Введение в фильтрацию данных

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
  • Рекомендация создать фильтры по всем атрибутам.
  • Анализ работы фильтров для лучшего понимания.
  • Переход к следующему уроку.