Download the PHP package wezlo/filament-lookups without Composer
On this page you can find all versions of the php package wezlo/filament-lookups. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wezlo/filament-lookups
More information about wezlo/filament-lookups
Files in wezlo/filament-lookups
Package filament-lookups
Short Description Hierarchical Lookup Management for Filament with multi-tenant support
License MIT
Informations about the package filament-lookups
Filament Lookups
Hierarchical lookup management for Filament with configurable multi-tenant support.
Manage lookup tables (countries, categories, regions, statuses, etc.) with optional parent-child hierarchies. Each lookup type is defined as a PHP class with full control over permissions and behavior.
Installation
Run migrations:
Register the plugin in your panel provider:
Defining Lookup Types
Each lookup type is a PHP class that extends Lookup. Create them with the artisan command and sync to the database.
1. Create a Lookup class
This creates a class in app/Lookups/:
2. Sync to database
This command will:
- Create types for new Lookup classes
- Update existing types with any class changes
- Deactivate types whose class was removed
Run this during deployment or in your CI pipeline.
3. Manage values in the panel
The plugin registers a Lookups page with a sidebar listing all synced types. Click a type to view and manage its values. The create/edit/delete actions respect the permissions defined in your Lookup class.
Available Lookup Methods
| Method | Default | Description |
|---|---|---|
name() |
Class name as headline | Display name |
slug() |
Slugified name | URL-safe identifier |
description() |
null |
Optional description shown as subheading |
isHierarchical() |
false |
Enable parent-child values |
tenancyMode() |
'shared' |
'shared', 'tenant', or 'both' |
sortOrder() |
0 |
Navigation sort order |
canAdd() |
true |
Show/hide create button |
canEdit(?Model $record = null) |
true |
Show/hide edit action per record |
canDelete(?Model $record = null) |
true |
Show/hide delete action per record |
canView(?Model $record = null) |
true |
Show/hide lookup type visibility |
canReorder() |
true |
Enable drag-to-reorder |
Per-Record Permissions
The canEdit(), canDelete(), and canView() methods receive the current record, allowing conditional logic per row:
When called without a record (e.g. for navigation visibility), $record is null — the default true applies.
Using LookupSelect in Forms
Hierarchical display
Dependent / cascading selects
Using LookupService Programmatically
Multi-Tenancy
Enable tenancy in config:
Set the tenancy mode per Lookup class:
| Mode | Behavior |
|---|---|
| shared | Visible to all tenants |
| tenant | Only visible to the owning tenant |
| both | System defaults + tenant-specific values merged |
HasLookups Trait
Configuration
| Option | Description | Default |
|---|---|---|
lookups_path |
Directory containing Lookup classes | app_path('Lookups') |
lookups_namespace |
PSR-4 namespace for Lookup classes | App\Lookups |
tables.lookup_types |
Types table name | lookup_types |
tables.lookup_values |
Values table name | lookup_values |
tenancy.enabled |
Enable multi-tenancy | false |
tenancy.tenant_model |
Tenant model class | null |
tenancy.tenant_id_column |
Tenant foreign key | tenant_id |
navigation_group |
Panel navigation group | Settings |
register_resource |
Register the Filament page | true |
Plugin Configuration
License
MIT
All versions of filament-lookups with dependencies
filament/filament Version ^4.0 || ^5.0
spatie/laravel-package-tools Version ^1.0