ofaws / favorite
A Laravel package allowing users to mark as favorite any instance that has a Favoritable trait
Fund package maintenance!
Olga Fursova
Requires
- php: ^8.4|^8.3
- illuminate/contracts: ^10.0|^11.0|^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^10.1.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
README
A Laravel package allowing users to mark as favorite any instance that has a Favoritable trait.
Installation
You can install the package via composer:
composer require ofaws/favorite
Then run the installation command:
php artisan favorite:install
You can publish and run the migrations with:
php artisan vendor:publish --tag="favorite-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="favorite-config"
It is very important to set the 'assets' and 'morph_map' values in the config file
Usage
Add HasFavorites
trait to your user model and CanBeFavorite
trait to assets models.
Don't forget to add assets models to 'assets' and 'morph_map' values in the config file if you aim to use controller
provided by this package
In order to use filtered
scope within package's favorites controller you must ensure that each model using
CanBeFavorite
trait has a type
column in corresponding table.
You can also add filterByFavorite()
method to query builder of a model using CanBeFavorite
trait - it will add
the filtered
filter which can be true or false.
You can check the available endpoints by running the command below. Package will publish the routes while installation.
php artisan route:list
If you aim to use only the relations set by this package - check the traits to see what features are available.
Testing
composer test
Documentation
Please see DOCUMENTATION for more information on how to use package features.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.