lanz/laravel-commentable

This package is abandoned and no longer maintained. The author suggests using the slynova/laravel-commentable package instead.

Allows for threaded comments to be added to multiple and different models.

Maintainers

👁 RomainLanz

Package info

github.com/RomainLanz/laravel-commentable

pkg:composer/lanz/laravel-commentable

Statistics

Installs: 2 785

Dependents: 2

Suggesters: 0

Stars: 32

Open Issues: 3

v2.0.5 2015-03-23 10:53 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 3c888f05d8834498a6ef2643f7f9c59167fdd2f4

  • Romain Lanz <lanz.romain.woop@gmail.com>

commentlaravelnested setLaravel 4threadedlaravel 5commentable

This package is not auto-updated.

Last update: 2015-11-04 14:22:28 UTC


README

👁 Build Status
👁 Downloads

Allows for threaded comments to be added to multiple and different models within your app for Laravel 4 and 5.

For Laravel 4, look at the 1.0 branch.

This package use Nested Sets pattern with Baum.

More information about Nested Sets

Installation

Edit your project's composer.json file to require lanz/laravel-commentable.

"require": {
 "lanz/laravel-commentable": "~2.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 'Lanz\Commentable\CommentableServiceProvider' to the end of the $providers array.

'providers' => [

 'Illuminate\Foundation\Providers\ArtisanServiceProvider',
 'Illuminate\Auth\AuthServiceProvider',
 ...
 'Lanz\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 Lanz\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 Lanz\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.