💡 Сталкивались с задачей собрать отзывы с Google, Tripadvisor, Facebook и других платформ в одну модель Laravel? Статья показывает крутой способ, как это сделать грамотно и масштабируемо — с помощью Spatie Laravel Data и DTO.
⚙️ Как это работает?
Одна модель
Review — с универсальными полями (автор, рейтинг, дата и т.д.).DTO
ReviewData — описывает, как выглядят «приведённые» данные.Методы
fromGoogle, fromTripadvisor и т.д. — превращают хаос внешних API в единый формат.Match-case + firstOrCreate — красиво сохраняем данные, избегая дублирования.
📦 Используется пакет
spatie/laravel-data, который делает работу с данными чистой и предсказуемой.✅ Подходит если:
у вас до 5 внешних источников;
нужно навести порядок и унифицировать структуру данных;
хочется типизированного и удобного кода.
📚 Полезно даже если у вас пока один источник — потом масштабировать будет проще.
🔗 Читайте подробности в статье
