jorgejardim / reviewrateable
Laravel 5 的评分系统
1.0.0
2020-07-08 04:52 UTC
Requires
- php: >=5.5.9
- illuminate/support: ~5.0|~6.0|~7.0
This package is auto-updated.
Last update: 2024-09-08 14:09:32 UTC
README
Laravel ReviewRateable
trexology/reviewrateable 提供的 Laravel ReviewRateable 评分系统
安装
首先,通过 Composer 引入包。
composer require jorgejardim/reviewrateable
然后,在 app/config/app.php
中包含服务提供者。(如果使用 Laravel 5.5 或更高版本,则跳过此步骤)
'providers' => [ Trexology\ReviewRateable\ReviewRateableServiceProvider::class ];
最后,您需要发布并运行迁移。
php artisan vendor:publish --provider="Trexology\ReviewRateable\ReviewRateableServiceProvider" && php artisan migrate
设置模型
<?php namespace App; use Trexology\ReviewRateable\Contracts\ReviewRateable; use Trexology\ReviewRateable\Traits\ReviewRateable as ReviewRateableTrait; use Illuminate\Database\Eloquent\Model; class Post extends Model implements ReviewRateable { use ReviewRateableTrait; }
创建评分
$user = User::first(); $post = Post::first(); $rating = $post->rating([ 'title' => 'Some title', 'body' => 'Some body', //optional 'anonymous' => 1, //optional 'rating' => 5, ], $user); dd($rating);
更新评分
$rating = $post->updateRating(1, [ 'title' => 'new title', 'body' => 'new body', //optional 'anonymous' => 1, //optional 'rating' => 3, ]);
删除评分
$post->deleteRating(1);
获取平均评分
$post->averageRating()
或
$post->averageRating(2) //round to 2 decimal place
统计总评分
$post->countRating()
统计评分元数据(计数和平均值)
$post->ratingMeta()
或
$post->ratingMeta(2) //round to 2 decimal place
获取评分百分比。
这也是如何强制执行最大评分值的方法。
$post->ratingPercent() $post->ratingPercent(10)); // Ten star rating system // Note: The value passed in is treated as the maximum allowed value. // This defaults to 5 so it can be called without passing a value as well.