myerscode/laravel-taxonomies

A package for creating taxonomies and terms to categorise Eloquent models
5,517 8
Install
composer require myerscode/laravel-taxonomies
Latest Version:7.1.0
PHP:^7.4
License:MIT
Last Updated:Sep 27, 2023
Links: GitHub  ·  Packagist
Maintainer: oniice

Laravel Taxonomies

A package for creating taxonomies and terms to categorise Eloquent models

Latest Stable Version Total Downloads PHP Version Require License Tests codecov

Why is this package helpful?

This package allow you to create taxonomies and terms and relate them to Laravel models, similar to WordPress

  • Create Taxonomy groups to categorise your models
  • Add terms to models and to taxonomies
  • Use your localisation files to translate taxonomy and term names
  • Find all models relating to a given taxonomy or term

Unlike other popular tag packages for Laravel this one supports MariaDB.

Requirements

  • PHP ^8.5
  • Laravel ^13.0

Install

You can install this package via composer:

composer require myerscode/laravel-taxonomies

Setup

The service provider will automatically be registered via package discovery.

Publish the migration with:

php artisan vendor:publish --provider="Myerscode\Laravel\Taxonomies\ServiceProvider" --tag="migrations"

After the migration has been published, run the migrations to create the tags, taxonomies and taggables tables.

Usage

To make an Eloquent model taggable just add the \Myerscode\Laravel\Taxonomies\HasTaxonomy trait to it:

class Post extends Model
{
    use \Myerscode\Laravel\Taxonomies\HasTaxonomy;

    ...
}

Terms

Are the meta tags you want to add to your model, giving them a definable characteristic.

Taxonomies

Are are a way of grouping your terms together, categorising your collection.

For example a Taxonomy called Colours could contain terms such as Red, Yellow, Green and Blue.

Localisation

You can get translated names from your terms and taxonomies by setting localised language files.

Advance Usage

You can change the default Taxonomy or Term class by publishing the config, and modifying the classes to your custom models.

Publish the config file with:

php artisan vendor:publish --provider="Myerscode\Laravel\Taxonomies\ServiceProvider" --tag="config"

License

The MIT License (MIT). Please see License File for more information.