tobischulz/laravel-commentable

Laravel的多态Eloquent模型,支持评论功能

7.0.0 2024-02-12 13:02 UTC

README

Build Status PHP from Packagist Latest Version License

安装

使用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)。