dutta / laravel-rating
管理优雅模型的评分列
1.0.2
2022-08-17 11:55 UTC
Requires
- php: ^8.0|^7.3
- illuminate/contracts: ^9.0|^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-17 16:30:43 UTC
README
新维护者
现在此包由 Dutta Fachrezy 维护
Laravel-Ratings
Laravel 包,允许您以简单清晰的方式对模型进行评分、点赞、踩或投票。
如果你觉得这个包有帮助,不要吝啬给我一个星标 :)
评分
将 CanRate 特性包含到您的用户模型中以应用评分功能
use Dutta\LaravelRating\Traits\Rate\CanRate; class User extends Model { use CanRate;
将 Rateable 特性包含到您要评分的模型中
use Dutta\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 Dutta\LaravelRating\Traits\Vote\CanVote; class User extends Model { use CanVote;
将 Votable 特性包含到您要投票的模型中
use Dutta\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 Dutta\LaravelRating\Traits\Like\CanLike; class User extends Model { use CanLike;
将 Likeable 特性包含到您的模型中,使其可点赞
use Dutta\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 dutta/laravel-rating
在您的 config/app.php 文件中
'providers' => [ ... Dutta\LaravelRating\LaravelRatingServiceProvider::class ], 'aliases' => [ ... "LaravelRating" => \Dutta\LaravelRating\LaravelRatingFacade::class, ]
在laravel5.5中不需要此步骤,
package:discover将会完成工作 :)
发布迁移文件
php artisan vendor:publish --tag=laravelRatings
运行迁移
php artisan migrate
