定制 centrex/laravel-ratings 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

centrex/laravel-ratings

最新稳定版本:v2.0.0

Composer 安装命令:

composer require centrex/laravel-ratings

包简介

Add rating to any model in laravel

README 文档

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Polymorphic rating and review system for any Eloquent model. Each authenticated user can rate or review a model once. Provides average, sum, and percentage accessors out of the box.

Installation

composer require centrex/laravel-ratings
php artisan vendor:publish --tag="laravel-ratings-migrations"
php artisan migrate

Usage

1. Add the traits to your model

use Centrex\LaravelRatings\Concerns\InterectsWithRating;
use Centrex\LaravelRatings\Concerns\InterectsWithReview;

class Product extends Model
{
    use InterectsWithRating;
    use InterectsWithReview;
}

2. Ratings

// Rate (throws CannotBeRatedException if already rated)
$product->rate(5);

// Remove rating
$product->unrate();

// Check if current user already rated
$product->alreadyRated();  // bool

// Aggregates (computed via Eloquent accessors)
$product->average_rating;          // avg score
$product->sum_rating;              // total score
$product->rated_in_total;          // number of ratings
$product->rated_by_users;          // number of unique users who rated
$product->average_rating_by_user;  // current user's average rating
$product->average_sum_of_user;     // current user's total score

// Percentage out of max (default max from config)
$product->ratingPercent();          // out of config max
$product->ratingPercent(10);        // out of 10

3. Reviews

// Review (throws CannotBeReviewedException if already reviewed)
$product->review('Excellent build quality, highly recommend!');

// Remove review
$product->unreview();

// Check if current user already reviewed
$product->alreadyReviewed();  // bool

// Get all reviews
$product->reviews;

// Count unique reviewers
$product->reviewed_by_users;

4. Config

php artisan vendor:publish --tag="laravel-ratings-config"
// config/rating.php
'max_rating' => 5,
'users' => [
    'primary_key' => 'user_id',
],

Testing

composer test        # full suite
composer test:unit   # pest only
composer test:types  # phpstan
composer lint        # pint

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 2.13k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-07-02

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固