Reader reports.
Install the complete review experience, choose an interface, and configure customer and team workflows.
← All Pro topicsReports
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.