A Laravel package that adds taggable behavior to Eloquent models with support for translations, types, and sorting.
Laravel Tags is a PHP package that adds tagging functionality to Laravel Eloquent models. It allows developers to attach, detach, and query tags on models with support for multiple tag types, translations, and sorting. It solves the problem of implementing robust, feature-rich tagging systems without writing boilerplate code.
Laravel developers building applications that require content categorization, filtering, or organization, such as blogs, e-commerce platforms, or content management systems.
Developers choose Laravel Tags because it provides a comprehensive, production-ready tagging solution with advanced features like translations and multiple types out of the box, all while integrating seamlessly with Laravel's Eloquent ORM and following Laravel's conventions.
Add tags and taggable behaviour to your Laravel app
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes translations, multiple tag types, sorting, and slug generation out of the box, as demonstrated in the README with methods like syncTagsWithType and tagsTranslated.
Uses Eloquent traits and query scopes, such as HasTags and withAnyTags, making it feel like a natural extension of Laravel with minimal setup.
Provides expressive scopes for finding models with any, all, or no specific tags, enabling complex filtering without writing custom SQL.
Built-in for multilingual applications, with methods like setTranslation and tagsTranslated, allowing easy storage and retrieval of tag names in multiple languages.
Requires Laravel 8 or higher and PHP 8, limiting compatibility with older projects or environments that haven't upgraded.
Needs a database supporting JSON fields and MySQL-compatible functions, which might not be available in all setups, such as some SQLite configurations.
The 'batteries-included' philosophy adds complexity if you only need basic tagging, as features like types and translations introduce unnecessary database columns and logic.