daniyal-javani / laravel-rating
为eloquent模型管理评分列
v1.5
2020-09-26 07:23 UTC
Requires
- php: ^7.3
- illuminate/database: 8.*
- illuminate/support: 8.*
Requires (Dev)
- orchestra/testbench: ~6.0
This package is auto-updated.
Last update: 2024-09-26 15:50:40 UTC
README
Laravel-Ratings
Laravel 包,允许您以简单直观的方式对模型进行评分、点赞、点踩或投票。
如果您认为这个包有帮助,请不要吝啬给我一颗星 :)
评分
将 CanRate 特性包含到您的用户模型中,以应用评分功能
use Nagy\LaravelRating\Traits\Rate\CanRate;
class User extends Model
{
use CanRate;
将 Rateable 特性包含到将被评分的模型中
use Nagy\LaravelRating\Traits\Rate\Rateable;
class Post extends Model
{
use Rateable;
现在您可以按以下方式对模型进行评分
$user->rate($postModel, 5);
获取模型的平均评分
$post->ratingsAvg();
获取模型的总体评分数量
$post->ratingsCount();
获取用户评分的模型
$user->rated(); // returns a collection of rated models
投票
将 CanVote 特性包含到用户模型中以应用评分功能
use Nagy\LaravelRating\Traits\Vote\CanVote;
class User extends Model
{
use CanVote;
将 Votable 特性包含到将被投票的模型中
use Nagy\LaravelRating\Traits\Vote\Votable;
class Post extends Model
{
use Votable;
现在您可以按照以下方式为您的模型投票
// up vote or +1 your model
$user->upVote($postModel);
// down vote or -1 your model
$user->downVote($postModel);
获取总投票数
$postModel->votesCount();
获取总点赞数
$postModel->upVotesCount();
获取总踩数
$postModel->downVotesCount();
获取用户点赞的模型
$user->upVoted(); // returns a collection of up voted models
获取用户踩的模型
$user->downVoted(); // returns a collection of down voted models
获取用户投票的模型总数
$user->voted(); // returns a collection of total voted models;
点赞 & 踩
将 CanLike 特性包含到用户模型中以应用点赞和踩功能
use Nagy\LaravelRating\Traits\Like\CanLike;
class User extends Model
{
use CanLike;
将 Likeable 特性包含到将被点赞的模型中
use Nagy\LaravelRating\Traits\Like\Likeable;
class Post extends Model
{
use Likeable;
现在您可以按照以下方式为您的模型点赞
// like
$user->like($postModel);
// dislike
$user->dislike($postModel);
获取总点赞数
$postModel->likesCount();
获取总踩数
$postModel->dislikesCount();
获取总点赞和踩数
$postModel->likesDislikesCount();
获取用户点赞的模型
$user->liked(); // return a collection of liked models;
获取用户踩的模型
$user->disliked(); // return a collection of disliked models;
获取用户点赞和踩的模型总数
$user->likedDisliked(); // return a collection of liked and disliked models;
安装
针对 laravel 7.*
$ composer require nagy/laravel-rating:^1.4
针对 laravel 6.*
$ composer require nagy/laravel-rating:^1.3
针对 laravel 5.*
$ composer require nagy/laravel-rating:^1.2
在您的 config/app.php 文件中
'providers' => [
...
Nagy\LaravelRating\LaravelRatingServiceProvider::class
],
'aliases' => [
...
"LaravelRating" => \Nagy\LaravelRating\LaravelRatingFacade::class,
]
在 laravel5.5 中不需要此步骤,
package:discover会完成这项工作 :)
发布迁移
$ php artisan vendor:publish --tag=laravelRatings
运行迁移
$ php artisan migrate