Download the PHP package banulakwin/laravel-eloquent-columns without Composer
On this page you can find all versions of the php package banulakwin/laravel-eloquent-columns. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download banulakwin/laravel-eloquent-columns
More information about banulakwin/laravel-eloquent-columns
Files in banulakwin/laravel-eloquent-columns
Package laravel-eloquent-columns
Short Description Reusable Eloquent traits and Blueprint macros: active, featured, sort order, timestamps/soft deletes, slugs (Spatie), audit columns.
License MIT
Homepage https://github.com/banulalakwindu/laravel-eloquent-columns
Informations about the package laravel-eloquent-columns
Laravel Eloquent Columns (banulakwin/laravel-eloquent-columns)
Portable Eloquent traits and Blueprint macros for common column patterns: active, featured, sort order, timestamps + soft deletes, slug pair (via Spatie Sluggable), audit user columns (created_by, updated_by, deleted_by), and SEO meta columns.
Activity/event logging is not included (intended as a separate package later).
Requirements
- PHP
^8.4 - Laravel
illuminate/*^11.0|^12.0|^13.0 spatie/laravel-sluggable^3.8(forHasSlugColumns)
Installation
Auto-discovery registers Banulakwin\EloquentColumns\EloquentColumnsServiceProvider.
Optional publish:
| Config key | Purpose |
|---|---|
register_macros |
Register Blueprint macros on boot (default true). Env: ELOQUENT_COLUMNS_REGISTER_MACROS. |
user_model |
Class for HasAuditColumns creator() / updater() / deleter(). Falls back to auth.providers.users.model if empty. Env: ELOQUENT_COLUMNS_USER_MODEL. |
Traits (Banulakwin\EloquentColumns\Concerns)
| Trait | Notes |
|---|---|
HasActiveColumn |
is_active scope active(), helpers markActive / markInactive. Override getActiveColumn(). |
HasFeaturedColumn |
Same pattern for is_featured / featured scope. |
HasSortOrderColumn |
Scopes orderBySortOrder, orderBySortOrderDesc, moveBefore / moveAfter. |
HasTimestampColumns |
Datetime casts + optional soft deletes; override shouldUseSoftDeletes() to disable. |
HasSlugColumns |
Spatie HasSlug + slugColumns fillable; route key = slug. Override source/slug column methods. |
HasAuditColumns |
Fills audit IDs on create/update/delete when Auth::check(). Relationships need a resolvable user model (see config). |
HasMetaColumns |
Fillable + casts for meta_title, meta_description, meta_keywords (array), meta_image. Override column name methods if needed. |
Blueprint macros
Registered when eloquent-columns.register_macros is true:
| Macro | Signature |
|---|---|
activeColumn |
($name = 'is_active', $default = true) |
featuredColumn |
($name = 'is_featured', $default = false) |
sortOrderColumn |
($name = 'sort_order', $default = 0) |
slugColumns |
($main = 'name', $slug = 'slug') |
timestampColumns |
($withSoftDeletes = true) |
auditColumns |
($created = 'created_by', $updated = 'updated_by', $deleted = 'deleted_by', $useUlid = true) — set $useUlid to false for foreignId (bigint) columns. |
metaColumns |
($title = 'meta_title', $description = 'meta_description', $keywords = 'meta_keywords', $image = 'meta_image') |
Example migration
Example model
Testing
Changelog
See CHANGELOG.md for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature) - Run
composer qualityto ensure tests and style pass - Commit and push
- Open a pull request
Package layout
License
MIT — see LICENSE for details.
All versions of laravel-eloquent-columns with dependencies
illuminate/auth Version ^11.0|^12.0|^13.0
illuminate/database Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0
spatie/laravel-sluggable Version ^3.8