lifeids / abusereportable
为Laravel 5设计的可报告滥用多态Eloquent模型
dev-master / 1.1.x-dev
2017-11-17 08:12 UTC
Requires
- php: >=5.5.9
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2024-09-29 04:31:28 UTC
README
此包将允许您将完整的滥用报告系统添加到您的Laravel应用程序中。由AbdullahGhanem/reportable分支而来
安装
首先,通过Composer拉取包。
composer require lifeids/abusereportable
然后,在app/config/app.php
中包含服务提供者。
'providers' => [ Lifeids\AbuseReportable\AbuseReportableServiceProvider::class ];
最后,您需要发布并运行迁移。
php artisan vendor:publish
并且
php artisan migrate
设置模型
<?php namespace App; use Lifeids\AbuseReportable\Contracts\AbuseReportable; use Lifeids\AbuseReportable\Traits\Reportable as AbuseReportableTrait; use Illuminate\Database\Eloquent\Model; class Post extends Model implements AbuseReportable { use AbuseReportableTrait; }
示例
用户模型报告了帖子模型滥用
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Post; use Auth; class PostController extends Controller { public function makeReport() { $post = Post::find(1); $user = Auth::user(); $post->abusereport([ 'reason' => str_random(10), 'meta' => ['some more optional data, can be notes or something'], ], $user); }
为报告创建一个结论,并将用户模型添加为“裁判”(有助于后来查看是谁或什么得出了这个结论)
$abusereport->conclude([ 'conclusion' => 'Your report was valid. Thanks! We\'ve taken action and removed the entry.', 'action_taken' => 'Record has been deleted.' // This is optional but can be useful to see what happend to the record 'meta' => ['some more optional data, can be notes or something'], ], $user);
获取滥用报告模型的结论
$abusereport->conclusion;
获取报告模型的裁判(只有当有结论时才可用)
$abusereport->judge(); // Just a shortcut for $report->conclusion->judge
获取一个包含所有曾经“裁判”过某事的裁判数组的数组
AbuseReport::allJudges();