carropublic / discussion
Discussion like comments
Installs: 105 795
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 5
Forks: 2
Open Issues: 4
Requires
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- phpunit/phpunit: ~7.0|^8.0|^9.0|^10.0
- sempro/phpunit-pretty-print: ^1.0
- squizlabs/php_codesniffer: ^3.3
- dev-master
- 4.0.2
- 4.0.1
- 4.0.0.x-dev
- 4.0.0
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.0
- 2.0.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.x-dev
- 0.1.1.x-dev
- dev-hotfix-3.1.2
- dev-dependabot/composer/symfony/http-kernel-4.4.50
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/guzzlehttp/psr7-1.8.5
- dev-dependabot/composer/league/flysystem-1.1.4
This package is auto-updated.
Last update: 2024-11-18 07:47:46 UTC
README
Discussion is nested discussion with approve/disapprove feature. Discussion inside the discussion, like the above image.
Take a look at contributing.md to see a to do list.
Installation
Via Composer
$ composer require carropublic/discussion
The package will automatically register itself.
You can publish the migration with:
php artisan vendor:publish --provider="CarroPublic\Discussion\DiscussionServiceProvider" --tag="migrations"
After the migration has been published you can create the media-table by running the migrations:
php artisan migrate
You can publish the config-file with:
php artisan vendor:publish --provider="CarroPublic\Discussion\DiscussionServiceProvider" --tag="config"
Usage
Get lists of discussions which approve.
$post->discussions()->approve()->get()
Get lists of discussions which got disapprove.
$post->discussions()->disApproved()->get()
Get lists of discussions for both approve and disapprove.
$post->discussions
Register the Model
In order to receive/retrieve discussions from the specific model, add the HasDiscussion
trait to the model class. In our case we choose Post
as main discussion.
namespace App\Models; use Illuminate\Database\Eloquent\Model; use CarroPublic\Discussion\Traits\HasDiscussion; class Post extends Model { use HasDiscussion; ... }
Create Discussions
To create a discussion to your discussable models (in this case Post model), you can use discussion
method like the following.
$post = Post::find(1); $post->discussion('Hello World! This is a discussion');
You can also use discussAsUser
method which need to pass the user object. See example in the following.
$user = User::find(1); $post->discussAsUser($user, 'Hi! This is a simple discussion');
Retrieving Discussion
After you finish creating discussion, You can retrieve all your discussion like the following.
$post->discussions
You can filter only by approve or disapprove like the following.
#For approve discussion $post->discussions()->approved()->get(); #For disapprove discussion $post->discussions()->disApproved()->get();
Change log
Please see the changelog for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
Take Lots of reference from Laravel Comment package. And modify base on what our need.
License
license. Please see the license file for more information.
-