This Laravel package provides a robust solution for managing comments and ratings in your Laravel application. It allows you to easily perform the following actions:
You can install the package via Composer by running the following command:
composer require devianl2/laravel-comment
To use this package, you need to follow these steps:
- Set up the package : After installation, make sure to publish the package configuration and migrations.
php artisan vendor:publish --provider="Devianl2\CommentRateable\CommentRateableServiceProvider" --tag="migrations"
php artisan migrate
- Add the trait to your Post model : In order to enable comment and rating functionality, add the
CommentRateable
trait to your Post model.
use Devianl2\CommentRateable\Traits\CommentRateable;
class Post extends Model
{
use CommentRateable;
}
- Perform actions : You can now use the available methods on your Post model to perform actions, such as retrieving comments, getting average ratings, or deleting comments.
$post = Post::first();
$comment = $post->comment([
'title' => 'This is a test title',
'body' => 'And we will add some shit here',
'rating' => 5,
'is_approved' => true, // This is optional and defaults to false
], $user);
$post = Post::first();
$comment = $post->updateComment(
$commentId,
[
'title' => 'This is a test title',
'body' => 'And we will add some shit here',
'rating' => 5,
'is_approved' => true, // This is optional and defaults to false
], $user);
- Get average rating: Retrieve the average rating for a post.
$post = Post::first();
$post->averageRating();
- Get comments: Retrieve all comments for a post.
$post->getComments();
- Get approved comments: Retrieve only approved comments for a post.
$post->getComments(true);
- Get paginated approved comments: Retrieve approved comments for a post with pagination.
$post->getComments(true, true);
- Get all comments without pagination: Retrieve all comments for a post without pagination and limits. (Set the limit to 0 for unlimited comments)
$post->getComments(true, false, 0);
- Delete comment: Delete a comment.
$comment->delete();
Contributions to this package are always welcome. If you find any issues or want to add new features, please create an issue or submit a pull request on the GitHub repository of this package.
This package is open-source software licensed under the MIT license .