All packages
Reviews for Laravel
Owner responses
The subject’s owner — or anyone — can respond to a review:
$response = Reviews::respond($review, $owner, 'Thanks for the feedback!');
// or, with an optional title:
$response = $review->respond($owner, 'Thanks for the feedback!', 'Reply from the owner');
$review->responses; // HasMany of responses
$response->parent; // BelongsTo back to the original review
$response->isResponse(); // trueA response is itself a row in the reviews table, tied to its parent via parent_id. It:
- carries no rating;
- shares the parent’s subject, so it is found alongside the parent’s reviews;
- is approved immediately and skips the moderator — it never sits in the moderation queue;
- never counts toward averages, counts, distributions or cached aggregates;
- fires ReviewResponded with both the parent and the response.
Reading responses
// Load each review with its replies in one query:
$reviews = $restaurant->approvedReviews()->with('responses')->latestFirst()->get();
// Only replies:
Review::query()->for($restaurant)->responses()->get();Use topLevel() — or the approvedReviews / topLevelReviews relations — wherever you list reviews, so responses show under their parent rather than beside it.
Show your open-source love
This package is free and MIT-licensed. If it saves you time, a one-off donation or a Patreon membership keeps it maintained, tested and documented.
More ways to support, including cryptoBy donating, you agree to our donation terms.
Want this built into your product?
We integrate our packages into custom Laravel and AI builds. Tell us what you're working on and we'll reply within 48 hours.