ican-agency / laravel-commentable
Allows for threaded comments to be added to multiple and different models.
Requires
- php: >=5.4
- baum/baum: ~1.1
- illuminate/database: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-12-21 20:36:17 UTC
README
Allows for threaded comments to be added to multiple and different models within your app for Laravel 5.
Based on now defunct Lanz/Laravel Commentable.
This package use Nested Sets pattern with Baum.
More information about Nested Sets
Installation
Edit your project's composer.json file to require ican-agency/laravel-commentable
.
"require": {
"ican-agency/laravel-commentable": "~1.0"
}
Next, update Composer from the terminal.
composer update
As with most Laravel packages you'll need to register Commentable service provider. In your config/app.php
add 'Ican\Commentable\CommentableServiceProvider'
to the end of the $providers
array.
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Ican\Commentable\CommentableServiceProvider', ],
Getting started
After the package is correctly installed, you need to generate migration.
php artisan commentable:migration
It will generate the <timestamp>_create_comments_table.php
migration. You may now run it with the artisan migrate command:
php artisan migrate
After the migration, one new table will be present, comments
.
Usage
You need to set on your model that it acts as commentable.
<?php namespace App; use Ican\Commentable\Commentable; use Illuminate\Database\Eloquent\Model; class Post extends Model { use Commentable; }
Now, your model has access to comments
method.
$post = Post::first(); $comment = new Ican\Commentable\Comment; $comment->body = 'My first comment!'; $comment->user_id = \Auth::id(); $post->comments()->save($comment); dd(Post::first()->comments);
For all information about threaded comment, look at the documentation on Baum.