Download the PHP package secrethash/r8 without Composer
On this page you can find all versions of the php package secrethash/r8. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download secrethash/r8
More information about secrethash/r8
Files in secrethash/r8
Package r8
Short Description Review & Rating system for Laravel
License MIT
Homepage https://github.com/secrethash/r8
Informations about the package r8
R8: Reviews, Ratings and Recommendations
Laravel has always been missing a package like this, that supports dynamic rating with multiple Rating Types (ex. Like in Amazon or any e-commerce platform, Quality Rating, Customer Service Experience Ratings, etc.) with Integrated Reviews and Recommend Functionality.
The main Ideology behind this package is to make it easily adaptable for everyone's use case.
Reviews & Ratings system for Laravel 7. You can rate any of your models.
- Custom Rating Types (ex: Product Quality, Delivery Speed, Pricing, etc.) without any limitations.
- Display Overall and Average Ratings
- Method Chaining
- You can set whether the model being rated is recommended.
Installation
First, pull in the package through Composer.
NOTE: The dev-master
is UNDER HEAVY DEVELOPMENT
You will need to publish and run the migrations.
Run the migrations
Setup
Setup the model that will be reviewed, rated & recommended.
Usage
Things will be kept simple. But to understand usage, you must understand the methodology behind it.
Methodology
The Methodology used is: | Utility | Relation | With |
---|---|---|---|
Review | HasMany | Ratings | |
Ratings | BelongsTo | RatingTypes | |
Recommend | is a part of | Reviews |
Fetch
Taking Simple Laravel Examples.
App\Http\Controllers\PostController.php
Reviews & Recommend
resources/views/post/show.blade.php
Ratings
NOTE: A Review must be created first to Create and link One or Many ratings with it.
resources/views/post/show.blade.php
Create
Reviews
App\Http\Controllers\ReviewController.php
Rating
Assumption: A Rating Type has already been created with
'slug' => 'customer-service'
.
App\Http\Controllers\ReviewController.php
RateTypes
Similarly, Secrethash\R8\Models\RateType
can be used to create Rating Types like Product Quality, Customer Service, Delivery, etc.
Fillable | Description |
---|---|
slug | Sluggish Name |
name | Full Name |
Other Operations
To keep things simple, Operations like Counting Reviews and Ratings are done through well defined relations, the Laravel Way.
Counting
Reviews
Ratings
Assuming the counting will be performed directly in the blade.php
file.
resources/views/post/show.blade.php
Average
Ratings
Laravel manages collections in a smart way. And as we know that "All multi-result sets returned by Eloquent are instances of the Illuminate\Database\Eloquent\Collection
object" Laravel Docs
All you need to do is pass in the name of the table (here value
) in the average()
collection helper method.
resources/views/post/show.blade.php
Contributions
Contributions are welcomed and appreciated. Feel free to create a Pull Request or an Issue.
Database Structure
As this package is still under development, the database structure might change in future. The structure ER Diagram is provided as XML File and also as an Image File.
License
This project is Licensed under MIT. See the License File for more information.
Note
This repository has been forked from codebyray/laravel-review-rateable
It was forked initially as a head-start and a lot has been changed since then. The whole concept and methodology has been changed.
Please note that the original code does not matches the code from this repository as a lot has been changed.
All versions of r8 with dependencies
illuminate/auth Version ^5.8|^6.0|^7.0
illuminate/container Version ^5.8|^6.0|^7.0
illuminate/contracts Version ^5.8|^6.0|^7.0
illuminate/database Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0
illuminate/support Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0
nesbot/carbon Version ^2.17