coliving/commentable
Laravel Commentable
Installation
Require this package, with Composer, in the root directory of your project.
$ composer require coliving/commentable
To get started, you'll need to publish the vendor assets and migrate:
php artisan vendor:publish --provider="Artisanry\Commentable\CommentableServiceProvider" && php artisan migrate
Usage
Setup a Model
<?php
namespace App;
use Artisanry\Commentable\Traits\HasComments;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasComments;
}
Create a comment
$user = User::first();
$post = Post::first();
$comment = $post->comment([
'title' => 'Some title',
'body' => 'Some body',
], $user);
dd($comment);
Create a comment as a child of another comment (e.g. an answer)
$user = User::first();
$post = Post::first();
$parent = $post->comments->first();
$comment = $post->comment([
'title' => 'Some title',
'body' => 'Some body',
], $user, $parent);
dd($comment);
Update a comment
$comment = $post->updateComment(1, [
'title' => 'new title',
'body' => 'new body',
]);
Delete a comment
$post->deleteComment(1);
Count comments an entity has
$post = Post::first();
dd($post->commentCount());
Testing
$ phpunit
Security
If you discover a security vulnerability within this package, please send an e-mail to hello@basecode.sh. All security vulnerabilities will be promptly addressed.
Credits
This project exists thanks to all the people who contribute.
License
Mozilla Public License Version 2.0 (MPL-2.0).
Related Packages
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v5.8.0 | ^8.3| | ^8.0| | MPL-2.0 | |
| v5.7.2 | ^8.0| | ^8.0| | MPL-2.0 | |
| v5.7.1 | ^8.0| | ^8.0| | MPL-2.0 | |
| v5.7.0 | ^8.0| | ^8.0| | MPL-2.0 | |
| v5.6.0 | ^8.0| | ^8.0| | MPL-2.0 | |
| v5.5.0 | ^8.0| | ^8.0| | MPL-2.0 | |
| v5.4.0 | ^7.4| | ^5.8| | MPL-2.0 | |
| 5.3.0 | ^7.4| | ^5.8| | MPL-2.0 | |
| 5.2.1 | ^7.4| | ^5.8| | MPL-2.0 | |
| 5.2.0 | ^7.2 | ^5.8| | MPL-2.0 | |
| 5.1.0 | ^7.2 | ^5.8| | MPL-2.0 | |
| 5.0.1 | ^7.2 | ^5.8| | MPL-2.0 | |
| 5.0.0 | ^7.2 | ^5.8| | MPL-2.0 | |
| 4.3.0 | ^7.2 | ^5.8| | MPL-2.0 | |
| 4.2.0 | ^7.2 | ^5.8| | MPL-2.0 | |
| 4.1.0 | ^7.2 | ^5.8 | MIT | |
| 4.0.0 | ^7.1 | ^5.6 | MIT | |
| v3.2.1 | ^7.1 | ^5.6 | MIT | |
| v3.2.0 | ^7.1 | ^5.6 | MIT | |
| v3.1.3 | ^7.1 | 5.5.* | | MIT | |
| v3.1.2 | ^7.1 | 5.5.* | | MIT | |
| v3.1.1 | ^7.1 | 5.5.* | | MIT | |
| v3.1.0 | ^7.1 | 5.4.* | | MIT | |
| v3.0.2 | ^7.0 | 5.3.* | | MIT | |
| v3.0.1 | ^7.0 | 5.3.* | | MIT | |
| 3.0.0 | ^7.0 | 5.3.* | | MIT | |
| 2.1.4 | ^7.1 | 5.3.* | | MIT | |
| 2.1.3 | ^7.1 | 5.3.* | | MIT | |
| 2.1.2 | ^7.1 | 5.3.* | | MIT | |
| 2.1.1 | ^7.1 | 5.3.* | | MIT |
Showing the latest 30 of 35. See every release on Packagist