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 = []; }
Read Also : one to one polymorphic relationship
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); } }