Count Models With the Laravel Visits Package

Count Models With the Laravel Visits Package

Laravel Visits is a package by Bader Almutairi for attaching counters to any model to track visits with tags. The main features this package provides, include the following:

  • A model item can have many types of recorded visits (using tags).
  • It’s not limited to one kind of Model (like some packages that allow only User model).
  • Record per visitors and not by visits using IP detecting, so even with refresh visit won’t duplicate (can be changed from config).
  • Get Top/Lowest visits per a model.
  • Get most visited countries …
  • Get visits per a period like a month of a year of an item or model.

Counting Models

The basic usage for counting models includes the following methods for incrementing and decrementing among others:


// More than one


// More than one

// Only increment once every 30 seconds based on user's IP

Getting Data

Once you’ve collected counter data for your model, you can retrieve and filter results with the following:



// With the model class

You can also collect other interesting data about country and referrer if you want a quick analytics tool for tracking models:


// Referrers of visitors

The geo data for the country functionality is provided through the Torann/laravel-geoip package.

Integration with Eloquent

You can integrate this package directly into your Eloquent model by defining a method like visits:

public function visits()
    return visits($this);

And then performing calls on the visits object:

$post = Post::find(1);

Learn More

To view the full readme, including installation instructions and source code, check this package out on the GitHub repo awssat/laravel-visits. Great work Bader!

Filed in: Laravel Packages


Join the weekly newsletter and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Mid / Sen. Software Engineer
Clearwater, FL
Full Stack or Back-End Developer
Alexandria, VA; Tallahassee, FL; Orlando, FL
Marketing for Change
Full Stack Software Engineer
Atlanta, GA or Remote
Laravel/PHP Developer
Chicago, IL
Neon One
Software Engineer, Web Applications
Vaughan, ON, Canada
Blast Motion
Contract Services Software Engineer (Laravel | Vue | Tailwind)
Riverbed Technology
Senior Laravel Developer
Wilmington, NC
GE Software Inc.