How to add website pages or posts views counter in laravel

How to count a website views in laravel. Count a webiste every post views in laravel. how to count post visits without any package in laravel 8, laravel 9. Create post counter table in laravel. Implement visitor counter of your blogs.


Laravel posts count example

If you want to count every post page view when it load than see our example. we create a post_counts table and save every post counts when user load your website page. Every time user load page and our query increase counts by one.

Post model
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
  use HasFactory;
  protected $guarded = [];

  public function viewCount(){
    return $this->hasOne(PostCount::class, 'post_id');
  }
}
PostCount model
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class PostCount extends Model
{
  use HasFactory;
  protected $guarded = [];
}

App\Http\Controllers\PostController
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post;
use App\Models\PostCount;

class PostController extends Controller{
  public function show(){
    $post = Post::where('status','1')->first();
    $count = $post->viewCount;
    if($count){
        $count->count = $count->count + 1;
    }else{
        $count = new Count;
        $count->count = "1";
    }
    $post->viewCount()->save($count);
  }
}
php laravel developer anmol sharma

Anmol Sharma

I am a software engineer and have experience in web development technologies like php, Laravel, Codeigniter, javascript, jquery, bootstrap and I like to share my deep knowledge by these blogs.

Random tutorial links