benjivm / commentable
为Laravel提供的可评论的多态Eloquent模型
6.0.0
2021-07-22 20:03 UTC
Requires
- php: >=8.0
- illuminate/database: >=8.0
- illuminate/support: >=8.0
- kalnoy/nestedset: ^6.0
Requires (Dev)
- graham-campbell/testbench: ^5.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0
README
我不打算维护这个包,使用时请自行承担风险。
安装
使用Composer在项目的根目录中要求此包。
$ composer require benjivm/commentable
要开始使用,您需要发布供应商资产并进行迁移
php artisan vendor:publish --provider="Benjivm\Commentable\CommentableServiceProvider" && php artisan migrate
用法
设置模型
<?php namespace App; use Benjivm\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
安全
如果您在此包中发现安全漏洞,请发送电子邮件至bvmiller@mail.sfsu.edu。所有安全漏洞都将得到及时解决。
致谢
此项目得益于所有贡献者。
许可证
Mozilla Public License Version 2.0 (MPL-2.0)。