PHPackages                             banulalakwindu/laravel-column-helpers - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. banulalakwindu/laravel-column-helpers

ActiveLibrary

banulalakwindu/laravel-column-helpers
=====================================

Laravel traits and migration macros for common model columns.

1.0.1(8mo ago)184MITPHPPHP ^8.0

Since Aug 26Pushed 8mo agoCompare

[ Source](https://github.com/banulalakwindu/laravel-column-helpers)[ Packagist](https://packagist.org/packages/banulalakwindu/laravel-column-helpers)[ RSS](/packages/banulalakwindu-laravel-column-helpers/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

Laravel Column Helpers
======================

[](#laravel-column-helpers)

A Laravel package providing useful traits and migration macros for common model columns.

Installation
------------

[](#installation)

```
composer require banulalakwindu/laravel-column-helpers
```

Features
--------

[](#features)

### Migration Macros

[](#migration-macros)

#### Active Column

[](#active-column)

```
Schema::table('posts', function (Blueprint $table) {
    $table->activeColumn(); // Adds is_active boolean column with default true
});
```

#### Featured Column

[](#featured-column)

```
Schema::table('posts', function (Blueprint $table) {
    $table->featuredColumn(); // Adds is_featured boolean column with default false
});
```

#### Meta Columns

[](#meta-columns)

```
Schema::table('posts', function (Blueprint $table) {
    $table->metaColumns(); // Adds meta_title, meta_description, meta_keywords, meta_image
});
```

#### Slug Columns

[](#slug-columns)

```
Schema::table('posts', function (Blueprint $table) {
    $table->slugColumns(); // Adds name and slug columns
    $table->slugColumns('title'); // Adds title and slug columns
});
```

#### Sort Order Column

[](#sort-order-column)

```
Schema::table('posts', function (Blueprint $table) {
    $table->sortOrderColumn(); // Adds sort_order integer column with default 0
});
```

### Model Traits

[](#model-traits)

#### HasActiveColumn

[](#hasactivecolumn)

```
use BanulaLakwindu\ColumnHelpers\Traits\HasActiveColumn;

class Post extends Model
{
    use HasActiveColumn;
}

// Usage
$post->isActive();
$post->markActive();
$post->markInactive();
Post::active()->get(); // Scope
```

#### HasFeaturedColumn

[](#hasfeaturedcolumn)

```
use BanulaLakwindu\ColumnHelpers\Traits\HasFeaturedColumn;

class Post extends Model
{
    use HasFeaturedColumn;
}

// Usage
$post->isFeatured();
$post->markFeatured();
$post->markUnfeatured();
Post::featured()->get(); // Scope
```

#### HasMetaColumns

[](#hasmetacolumns)

```
use BanulaLakwindu\ColumnHelpers\Traits\HasMetaColumns;

class Post extends Model
{
    use HasMetaColumns;
}
```

#### HasSlugColumns

[](#hasslugcolumns)

```
use BanulaLakwindu\ColumnHelpers\Traits\HasSlugColumns;

class Post extends Model
{
    use HasSlugColumns;

    protected function slugSourceColumn(): string
    {
        return 'title';
    }

    protected function getSlugColumnCommentCacheDuration(): int
    {
        return 7 * 24 * 60 * 60; // 7 days in seconds
    }
}
```

**Override Functions:**

- `slugSourceColumn()`: **Required override** - Specifies which column to use as the source for generating slugs. If not overridden, the trait will auto-detect the slug source column from database comments every time (caching is needed).
- `getSlugColumnCommentCacheDuration()`: **Optional override** - Sets cache duration for slug source column detection. Default is 7 days. Only used when `slugSourceColumn()` is not overridden.

#### HasSortOrderColumn

[](#hassortordercolumn)

```
use BanulaLakwindu\ColumnHelpers\Traits\HasSortOrderColumn;

class Post extends Model
{
    use HasSortOrderColumn;
}

// Usage
$post->getSortOrder();
$post->setSortOrder(5);
$post->moveBefore($otherPost);
$post->moveAfter($otherPost);
Post::orderBySortOrder()->get(); // Scope
Post::orderBySortOrderDesc()->get(); // Scope
```

Requirements
------------

[](#requirements)

- PHP 8.0+
- Laravel 10.0+

License
-------

[](#license)

MIT License

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance59

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

259d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e2b304c512f5c36ca703e791bd9519b9fbd2e83d7febc15b5f369807f20fa181?d=identicon)[banulalakwindu](/maintainers/banulalakwindu)

---

Top Contributors

[![banulalakwindu](https://avatars.githubusercontent.com/u/64958389?v=4)](https://github.com/banulalakwindu "banulalakwindu (4 commits)")

---

Tags

laravelmigrationstraitscolumnsmacros

### Embed Badge

![Health badge](/badges/banulalakwindu-laravel-column-helpers/health.svg)

```
[![Health](https://phpackages.com/badges/banulalakwindu-laravel-column-helpers/health.svg)](https://phpackages.com/packages/banulalakwindu-laravel-column-helpers)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[dragon-code/laravel-data-dumper

Adding data from certain tables when executing the `php artisan schema:dump` console command

3418.6k](/packages/dragon-code-laravel-data-dumper)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)[bjuppa/laravel-blog

Add blog functionality to your Laravel project

483.3k2](/packages/bjuppa-laravel-blog)[orptech/laravel-migration-partition

Laravel extensions that extends Illuminate to enable partitioned table creation within Laravel migrations.

3426.7k](/packages/orptech-laravel-migration-partition)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
