大牛 / laravel-rating
管理优雅模型评分列
v2.2
2021-04-22 08:03 UTC
Requires
- php: ^8.0|^7.3
- illuminate/contracts: ^8.0|^7.0|^6.0
Requires (Dev)
- orchestra/testbench: ^6.0|^5.0|^4.0
- phpunit/phpunit: ^9.3|^8.0
- vimeo/psalm: ^4.4
This package is auto-updated.
Last update: 2024-09-22 15:21:14 UTC
README
新维护者
此包现在由Ahmed Nagi维护
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);
您也可以像以下这样取消对模型的评分
$user->unrate($postModel); // alternatively $user->rate($postModel, -1); // or $user->rate($postModel, false); // or $user->rate($postModel, null);
获取模型的平均评分
$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 8.* , 7.* , 6.*
composer require nagy/laravel-rating
适用于 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
