qlick / laravel-rating
管理 eloquent 模型的评分列
此包的官方仓库似乎已消失,因此已冻结此包。
v2.4
2022-03-02 21:00 UTC
Requires
- php: ^8.0|^7.3
- illuminate/contracts: ^9.0|^8.0|^7.0
Requires (Dev)
- orchestra/testbench: ^6.0|^5.0|^4.0
- phpunit/phpunit: ^9.3|^8.0
- vimeo/psalm: ^4.4
README
新维护者
此包现在由 Ahmed Nagi 维护。
Laravel-Ratings
Laravel 包,允许您以简单明了的方式对模型进行评分、点赞 & 点踩或投票。
如果您觉得这个包有帮助,请不要吝啬给个 star :)
评分
将 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
