Управління таксономіями, категоріями та тегами в Laravel

Перекладено ШІ 2 Laravel News 02 червня, 2026

Laravel Taxonomy — це потужний пакет для управління категоріями, тегами та ієрархічними структурами у ваших програмах. Дізнайтеся, як легко створювати системи категоризації та асоціювати їх з моделями Eloquent, щоб покращити організацію вашого контенту

Пакет Laravel Taxonomy керує категоріями, тегами та ієрархічними структурами у застосунках Laravel. Taxonomy є ідеальним рішенням для управління категоріями, організації контенту, атрибутами продуктів або будь-якою ієрархічною структурою даних. Пропонуємо швидкий приклад створення таксономій і їх асоціації з моделлю Eloquent:

use Aliziodev\LaravelTaxonomy\Facades\Taxonomy;
use Aliziodev\LaravelTaxonomy\Enums\TaxonomyType;
 
// Створення категорії
$electronics = Taxonomy::create([
    'name' => 'Електроніка',
    'type' => TaxonomyType::Category->value,
    'description' => 'Електронні продукти та гаджети',
]);
 
// Створення підкатегорії
$smartphones = Taxonomy::create([
    'name' => 'Смартфони',
    'type' => TaxonomyType::Category->value,
    'parent_id' => $electronics->id,
]);
 
// Створення тегів
$featured = Taxonomy::create([
    'name' => 'Рекомендовані',
    'type' => TaxonomyType::Tag->value,
]);
 
// Припустимо, у вас є модель Product з трейтом HasTaxonomy
$product = Product::create([
    'name' => 'iPhone 15 Pro',
    'price' => 999.99,
]);
 
// Прикріплення таксономій
$product->attachTaxonomies([$electronics->id, $smartphones->id, $featured->id]);

Після того як ви прикріпили таксономії до моделі продукту, ось як можна запитати продукти із такою ж категорією:

// Пошук продуктів у категорії електроніки
$products = Product::withTaxonomyType(TaxonomyType::Category)
    ->withTaxonomySlug('electronics')
    ->get();
 
// Перевірка, чи має продукт задані таксономії
$product->hasTaxonomies($categoryIds);
$product->hasAllTaxonomies($tagIds);
$product->hasTaxonomyType(TaxonomyType::Category);

Це лише невелика частина можливостей цього пакета. Для детальніших прикладів та повної документації перегляньте README файл пакета. Тут ви знайдете інформацію про налаштування, конфігурацію та основні можливості пакета, які включають:

# Основні можливості

  • Ієрархічні терміни: створення відносин між батьківськими та дочірніми термінами
  • Підтримка метаданих: зберігання додаткових даних у форматі JSON для кожної таксономії
  • Упорядкування термінів: контроль порядку термінів за допомогою sort_order
  • Поліморфні відносини: асоціація таксономій з будь-якою моделлю
  • Кілька типів термінів: використання попередньо визначених типів (Категорія, Тег тощо) або створення власних типів
  • Групові операції: прикріплення, видалення, синхронізація або перемикання кількох таксономій одночасно
  • Розширене запитування: фільтрація моделей за таксономіями за допомогою запитних скоупів
  • Ефективні запити: оптимізовані запити до бази даних для ієрархічних даних
  • Підтримка тестування: вбудовані засоби для тестування
  • І багато іншого...

🧑‍💻 Розпочати роботу з цим пакетом ви можете на GitHub: aliziodev/laravel-taxonomy.

composer require aliziodev/laravel-taxonomy
php artisan taxonomy:install
php artisan migrate

Популярні

Інше, що варто прочитати

19 Оновлено 02 червня, 2026

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

12 Оновлено 02 червня, 2026

Удосконалюйте свої проєкти Laravel за допомогою справжнього штучного інтелекту для кодування з Laravel Boost!

Готові підняти свій робочий процес у Laravel на новий рівень? У цій статті я розгляну Laravel Boost, інноваційний AI-допомічник для програмування, який зробить вашу розробку швидшою та продуктивнішою

15 Оновлено 02 червня, 2026

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!