tobischulz / laravel-commentable
Laravel的多态Eloquent模型,支持评论功能
7.0.0
2024-02-12 13:02 UTC
Requires
- php: ^8.2
- illuminate/database: ^10.0
- illuminate/support: ^10.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: 8.2
- phpunit/phpunit: ^9.0
README
安装
使用Composer在项目的根目录中安装此包。
$ composer require artisanry/commentable
开始使用前,需要发布供应商资源并迁移数据库
php artisan vendor:publish --provider="Artisanry\Commentable\CommentableServiceProvider" && php artisan migrate
用法
设置模型
<?php namespace App; use Artisanry\Commentable\Traits\HasComments; use Illuminate\Database\Eloquent\Model; class Post extends Model { use HasComments; }
创建评论
$user = User::first(); $post = Post::first(); $comment = $post->comment([ 'title' => 'Some title', 'body' => 'Some body', ], $user); dd($comment);
将评论创建为其他评论的子评论(例如答案)
$user = User::first(); $post = Post::first(); $parent = $post->comments->first(); $comment = $post->comment([ 'title' => 'Some title', 'body' => 'Some body', ], $user, $parent); dd($comment);
更新评论
$comment = $post->updateComment(1, [ 'title' => 'new title', 'body' => 'new body', ]);
删除评论
$post->deleteComment(1);
计算实体拥有的评论数量
$post = Post::first(); dd($post->commentCount());
测试
$ phpunit
安全
如果您在此包中发现安全漏洞,请发送电子邮件至hello@basecode.sh。所有安全漏洞都将得到及时处理。
鸣谢
本项目得以存在,多亏了所有贡献者。
许可证
Mozilla Public License Version 2.0 (MPL-2.0)。