coliving / commentable
Commentable Polymorphic Eloquent Models for for Laravel. This is fork from artisanry/commentable as it's abandoned
v5.6.0
2024-05-10 08:03 UTC
Requires
- php: ^8.0|^8.1|^8.2|^8.3
- illuminate/database: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
- kalnoy/nestedset: ^6.0
Requires (Dev)
- graham-campbell/testbench: ^5.7
- mockery/mockery: ^1.5
- phpunit/phpunit: 7.*|8.*|9.*|10.*|11.*
- v5.6.0
- v5.5.0
- v5.4.0
- 5.3.0
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.1
- 5.0.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- v3.2.1
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.2
- v3.0.1
- 3.0.0
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.x-dev
- dev-master / 1.0.x-dev
- 1.0.0
- dev-support_laravel_11_php8.3
- dev-upgrade_laravel_10
- dev-support_laravel_9
- dev-support_laravel_8
- dev-update_package_info
This package is not auto-updated.
Last update: 2024-11-08 10:26:34 UTC
README
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).