laravel-interaction/visit
Composer 安装命令:
composer require laravel-interaction/visit
包简介
User visit behaviour for Laravel.
README 文档
README
User visit behaviour for Laravel.
Introduction
It used to record the number of visits to the model(documentation/subject/question).
Installation
Requirements
Instructions
Require Laravel Visit using Composer.
composer require laravel-interaction/visit
Publish configuration and migrations
php artisan vendor:publish --tag=visit-config php artisan vendor:publish --tag=visit-migrations
Run database migrations.
php artisan migrate
Usage
Setup Visitor
use Illuminate\Database\Eloquent\Model; use LaravelInteraction\Visit\Concerns\Visitor; class User extends Model { use Visitor; }
Setup Visitable
use Illuminate\Database\Eloquent\Model; use LaravelInteraction\Visit\Concerns\Visitable; class Subject extends Model { use Visitable; }
Visitor
use LaravelInteraction\Visit\Tests\Models\Subject; /** @var \LaravelInteraction\Visit\Tests\Models\User $user */ /** @var \LaravelInteraction\Visit\Tests\Models\Subject $subject */ // Visit to Visitable $user->visit($subject); // Compare Visitable $user->hasVisited($subject); $user->hasNot Visited($subject); // Get visited info $user->visitVisitors()->count(); // with type $user->visitVisitors()->withType(Subject::class)->count(); // get visited subjects Subject::query()->whereVisitedBy($user)->get(); // get subjects doesnt visited Subject::query()->whereNotVisitedBy($user)->get();
Visitable
use LaravelInteraction\Visit\Tests\Models\User; use LaravelInteraction\Visit\Tests\Models\Subject; /** @var \LaravelInteraction\Visit\Tests\Models\User $user */ /** @var \LaravelInteraction\Visit\Tests\Models\Subject $subject */ // Compare Visitor $subject->isVisitedBy($user); $subject->isNotVisitedBy($user); // Get visitors info $subject->visitors->each(function (User $user){ echo $user->getKey(); }); $subjects = Subject::query()->withVisitorsCount()->get(); $subjects->each(function (Subject $subject){ // like uv echo $subject->visitors()->count(); // 1100 echo $subject->visitors_count; // "1100" echo $subject->visitorsCount(); // 1100 echo $subject->visitorsCountForHumans(); // "1.1K" // like pv echo $subject->visitableVisits()->count(); // 1100 echo $subject->visits_count; // "1100" echo $subject->visitsCount(); // 1100 echo $subject->visitsCountForHumans(); // "1.1K" }); $subjects = Subject::query()->withVisitorsCount(function ($query){ return $query->whereKey(1); })->get();
With Api Request
use Illuminate\Http\Request; use Illuminate\Routing\Controller; use LaravelInteraction\Visit\Tests\Models\Subject; use Illuminate\Http\Resources\Json\JsonResource; class AuctionController extends Controller { public function show($id, Request $request){ $subject = Subject::query()->findOrFail($id); dispatch(function () use ($subject, $request) { $subject->record($request); })->afterResponse(); return new JsonResource($subject); } }
Events
| Event | Fired |
|---|---|
LaravelInteraction\Visit\Events\Visited |
When an object get visited. |
License
Laravel Eloquent Visit is an open-sourced software licensed under the MIT license.
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-11-30