ofaws/favorite

A Laravel package allowing users to mark as favorite any instance that has a Favoritable trait

Fund package maintenance!
Olga Fursova

1.0.6 2025-03-31 11:00 UTC

This package is auto-updated.

Last update: 2025-05-31 00:30:20 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.