Developer docs Core 2.2 · Pro 1.x

Search documentation

Search Core and Pro guides, including code examples.

PRO · COMMERCIAL

Reader reports.

Install the complete review experience, choose an interface, and configure customer and team workflows.

← All Pro topics

Reports

Reader reports are private and independently optional:

php artisan vendor:publish --tag=review-rateable-pro-reports-migrations
php artisan migrate
'reports' => [
    'enabled' => true,
    'ability' => null,
    'reasons' => [
        'spam' => 'Spam or advertising',
        'inappropriate' => 'Inappropriate content',
        'misleading' => 'Misleading review',
        'other' => 'Other concern',
    ],
    'details_max_length' => 2000,
    'submissions_per_minute' => 5,
    'per_page' => 10,
],

Signed-in readers can report another author's published review with a reason and optional plain-text details. Each account has one lifetime report per review, including closed reports; duplicates do not replace evidence or reopen it. There is no report editing, withdrawal, or re-reporting after review edits.

Reports never automatically hide reviews. Show the queue only on a private page protected by the moderation ability:

<livewire:review-rateable-pro-review-report-queue
    :reviewable="$product"
    department="default" />

Moderators can resolve or dismiss a report. Both record the decision and server time; hide the review separately if needed. Closed reports cannot be reopened. The queue shows the current review, not a frozen copy of the originally reported content.

The authenticated API provides the same behavior:

use Codebyray\ReviewRateablePro\Models\ReviewReport;
use Codebyray\ReviewRateablePro\Services\ReviewReportManager;

$reports = app(ReviewReportManager::class);
$report = $reports->submit($review, 'spam', 'Optional private details.');

// In a separate authorized moderator workflow:
$reports->close($report, ReviewReport::STATUS_RESOLVED);

Do not eager-load proReports, reporter identities, or report details into public responses. Apply your own privacy and retention policy.