unisharp/ratable

使对象可以被评分

dev-master / 1.0.x-dev 2018-05-23 11:08 UTC

This package is auto-updated.

Last update: 2024-09-21 21:21:57 UTC


README

为多个模型提供一个特性,以便轻松评分。

安装

composer require unisharp/ratable dev-master

配置

config/app.php 中设置提供者模块

return [
    'providers' => [
          UniSharp\Ratable\Providers\RatableServiceProvider:class
    ]
];

用法

在模型中使用特性

namespace App;

use Illuminate\Database\Eloquent\Model;
use UniSharp\Ratable\Traits\Ratable;

class Movie extends Model
{
    use Ratable;
}

使用等级和/或描述评分您的模型

$movie = new Movie();

$movie->rates()->create([
  'grade' => 10,
  'description' => 'Excellent'
]);

获取模型平均评分

$movie = new Movie();

$movie->rates()->saveMany(
  new UniSharp\Ratable\Models\Rate(['grade' => 10, 'description' => 'Excellent'],
  new UniSharp\Ratable\Models\Rate(['grade' => 5, 'description' => 'Not Bad']
);

$movie->average()  // 7.5

获取评分的提供者和模型

$movie = new Movie();

$rate = $movie->rates()->create([
  'grade' => 10,
  'description' => 'Excellent'
]);

// giver
$rate->user;

// model
$rate->ratable;