jordanmiguel/laravel-popular
| Install | |
|---|---|
composer require jordanmiguel/laravel-popular |
|
| Latest Version: | 1.0.10 |
| PHP: | ~5.6|^7.2|^8.0 |
| License: | MIT |
| Last Updated: | Jun 24, 2024 |
| Links: | GitHub · Packagist |
Laravel Popular (Laravel Popularity)
With Laravel Popular Package you can Track your most popular Eloquent Models based on unique hits in a time range and then sort by popularity in a time frame.
Discontinued
This project is not maintained anymore. We encourage you to use another well maintained solution that can archieve everything in here: https://github.com/cyrildewit/eloquent-viewable
Usage
Use the visitable trait on the model you intend to track
use \JordanMiguel\LaravelPopular\Traits\Visitable;
class Post extends Model
{
use Visitable;
...
}
Here are some code examples:
// Adding a visit to the post. Recommended on the show() method of your controller.
$post->visit();
// Retrieving the count of visitors in a timeframe
$post->visitsDay();
$post->visitsWeek();
$post->visitsMonth();
$post->visitsBetween($from, $to);
$post->visitsForever();
// Ordering the posts by the most visited
Posts::popularLast(3)->get(); // Get popular posts on the last 3 days
Posts::popularDay()->get(); // Get posts ordered by the most visited on the last 24h
Posts::popularWeek()->get();
Posts::popularMonth()->get();
Posts::popularYear()->get();
Posts::popularBetween($from, $to)->get(); // Get posts ordered by the most visited in a given interval date
Posts::popularAllTime()->get();
Install
Via Composer
$ composer require jordanmiguel/laravel-popular
If you're on Laravel <= 5.4 add 'JordanMiguel\LaravelPopular\LaravelPopularServiceProvider::class', in your config/app.php to the end of the $providers array
'providers' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
'Illuminate\Auth\AuthServiceProvider',
...
'JordanMiguel\LaravelPopular\LaravelPopularServiceProvider::class',
),
Now, let's create our table on the database:
$ php artisan migrate
We're ready!
Testing
There is no test setup yet, please pull request if you do it =)
Contributing
Feel free to Pull Request anytime!
Author
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.