GAIT Rating
CommunityAdds a star rating form input, a sortable average-rating table column, an infolist entry and a review moderation resource for models that use the ghanem/rating package.
Author:
GAIT
Package health
BetaAutomated checks of this plugin's Composer package
15 checks
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 0 days ago; last release 20 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Installation
- Table column
- Form field
- Infolist entry
- Relation manager
- Customising the markup
- Known limitation
- Related packages
- Sponsor

Filament 4 & 5 components for ghanem/rating (Packagist) — a star input field, a sortable average-rating table column, an infolist entry, and a relation manager for moderating reviews.
This package is admin-panel only. Ratings themselves — the traits, aggregates, scopes,
events and validation — live in
ghanem/rating, which is required
automatically. Read its README first if you have not set up the Ratingable and
CanRate traits yet.
#Installation
composer require ghanem/rating-filament
This pulls in ghanem/rating ^2.1. If you have not already published its migration:
php artisan vendor:publish --provider="Ghanem\Rating\RatingServiceProvider"
php artisan migrate
#Table column
Show a sortable average rating on a resource's table. The modifyQueryUsing
line is required — it selects the ratings_avg_rating alias the column reads,
which is what keeps the table to one query instead of one per row.
use Ghanem\RatingFilament\Tables\Columns\RatingColumn;
public static function table(Table $table): Table
{
return $table
->modifyQueryUsing(fn (Builder $query) => $query->withAvgRating()->withCountRatings())
->columns([
TextColumn::make('title'),
RatingColumn::make()->showCount(),
]);
}
Scoping to a rating type happens in the query, not on the column:
->modifyQueryUsing(fn (Builder $query) => $query->withAvgRating('food'))
#Form field
use Ghanem\RatingFilament\Forms\Components\RatingInput;
RatingInput::make('rating')
->stars(5)
->allowHalf()
->starColor('#f59e0b')
->required();
The star count defaults to config('rating.max'), and the field attaches
min/max validation rules from the same config so an out-of-range value
produces a field error instead of an InvalidRatingException.
allowHalf() lets the field store and render half-point values (2.5, 3.5,
...). Clicking the left half of a star selects the half value, and the star is
drawn half-filled to match.
#Infolist entry
use Ghanem\RatingFilament\Infolists\Components\RatingEntry;
RatingEntry::make('rating')->showValue();
#Relation manager
use Ghanem\RatingFilament\Resources\RelationManagers\RatingsRelationManager;
class PostRatingsRelationManager extends RatingsRelationManager {}
Then register it on the resource:
public static function getRelations(): array
{
return [PostRatingsRelationManager::class];
}
It lists the ratings a record has received, with edit and delete actions for moderation. There is no create action by default, because the correct author for an admin-created rating is application-specific.
#Customising the markup
php artisan vendor:publish --tag=rating-filament-views
#Known limitation
Ratingable::ratings() and CanRate::ratings() share a method name, so a model
cannot use both traits without resolving the collision with insteadof. This
relation manager always means ratings received.
#Related packages
- ghanem/rating — the rating engine this package renders; traits, aggregates, query scopes, events and validation
- ghanem/friendship — friendships, requests and blocks for Eloquent models
- ghanem/friendship-filament — Filament admin panel for
ghanem/friendship
#Sponsor
The author
GAIT (Ghanem Artificial Intelligence Technology) is a Cairo-based software house building production-grade software for startups and enterprises across Egypt, the Gulf, and MENA — Arabic-first, bilingual by default.
From the same author
GAIT Friendship
Adds admin panel resources for moderating friendships, pending requests and blocks between users of the ghanem/friendship package.
Author:
GAIT
GAIT Mobile
Serves your existing Filament panel as a policy-aware mobile admin API, reading each resource's own form, infolist, relations and dashboard widgets so a native app can list, view, create, edit and delete records without redeclaring anything.
Author:
GAIT
Featured Plugins
A selection of plugins curated by the Filament team
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese