PHPackages                             trexology/extendable - 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. [Database &amp; ORM](/categories/database)
4. /
5. trexology/extendable

ActiveLibrary[Database &amp; ORM](/categories/database)

trexology/extendable
====================

Traits for Laravel to add and manage custom Eloquent model fields.

1.5.3(7y ago)0166MITPHPPHP &gt;=5.3.0

Since Jul 24Pushed 7y ago1 watchersCompare

[ Source](https://github.com/Trexology/laravel-extendable)[ Packagist](https://packagist.org/packages/trexology/extendable)[ RSS](/packages/trexology-extendable/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (1)Versions (20)Used By (0)

Laravel Extendable package
==========================

[](#laravel-extendable-package)

[![License](https://camo.githubusercontent.com/0bed875915b26151c05bd3b47ed97d2c2b77ac642005fdf608fd7e01eae4c05f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f747265786f6c6f67792f657874656e6461626c652e737667)](https://packagist.org/packages/trexology/extendable)[![Downloads](https://camo.githubusercontent.com/3ddf3f62e44283a14a74751e452e80e4ad7ccc1cfa721c83f46ae833ab3bd4eb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f747265786f6c6f67792f657874656e6461626c652e737667)](https://packagist.org/packages/trexology/extendable)[![Version-stable](https://camo.githubusercontent.com/5c25fcafd5c184d92ea189c62a91799a7879b3e7d19ebef75d4d892a6444ab8a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f747265786f6c6f67792f657874656e6461626c652e737667)](https://packagist.org/packages/trexology/extendable)

How to install
--------------

[](#how-to-install)

### Composer Install

[](#composer-install)

```
composer require trexology/extendable
```

### Laravel Service Provider (not required for laravel version above 5.5)

[](#laravel-service-provider-not-required-for-laravel-version-above-55)

Add service provider in `app/config/app.php`

```
'providers' => [
    Trexology\Extendable\Providers\ExtendableServiceProvider::class,
];
```

Publish configs, templates and run migrations.

```
php artisan vendor:publish --provider="Trexology\Extendable\Providers\ExtendableServiceProvider"
php artisan migrate
```

Usage
-----

[](#usage)

### Add traits

[](#add-traits)

Add model trait to models, where you want to use custom fields.

```
use Trexology\Extendable\Traits\Extendable;
class Article extends \Illuminate\Database\Eloquent\Model {
    use Extendable;
}
```

### Config fields

[](#config-fields)

Use `app/config/custom-fields.php` to configure your fields.

```
return [
    'App\User' => [                                                     // model name
        'gender' => [                                                    // field name
            'title' => 'Gender',                                         // field title (can be used in views)
            'type' => \Trexology\Extendable\CustomFieldType::Radio,     // field type
            'options' => [                                              // possible values/labels
                'male' => 'Male',
                'female' => 'Female'
            ],
            'default' => 'male'                                              // default value
        ]
    ]
];
```

### Assign/retrieve customfield values

[](#assignretrieve-customfield-values)

Assign custom field values as regular values.

```
$data = [
    'title' => 'Awesome Article!!!', // regular field
    'gender' => 'male'               // custom filed
];

$article = new Article();
$article->fill($data);
$article->save();
```

Retrieve custom field values.

```
$article = Article::find(1);
$article->gender->value; // 1
echo $article->gender;   // 1

$article->customFields; // return collection of custom fields
```

### Field types

[](#field-types)

FieldTypeDB DataTypeExampleCustomFieldType::StringVARCHAR(255)`Lorem`CustomFieldType::TextTEXT`Lorem Ipsum...`CustomFieldType::SelectVARCHAR(255)`en_us`CustomFieldType::RadioVARCHAR(255)`off`CustomFieldType::CheckboxVARCHAR(255)`0`CustomFieldType::DateTimeTIMESTAMP`2015-01-19 03:14:07`

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 64.6% 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 ~83 days

Recently: every ~243 days

Total

17

Last Release

2620d ago

Major Versions

v0.0.0 → v1.0.02015-07-30

v0.0.1 → v1.0.22015-07-30

### Community

Maintainers

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

---

Top Contributors

[![TUNER88](https://avatars.githubusercontent.com/u/1565397?v=4)](https://github.com/TUNER88 "TUNER88 (31 commits)")[![Trexology](https://avatars.githubusercontent.com/u/3056348?v=4)](https://github.com/Trexology "Trexology (15 commits)")[![chrizz1001](https://avatars.githubusercontent.com/u/260550?v=4)](https://github.com/chrizz1001 "chrizz1001 (1 commits)")[![d-a-n](https://avatars.githubusercontent.com/u/1060397?v=4)](https://github.com/d-a-n "d-a-n (1 commits)")

---

Tags

laraveleloquenttraitcustom fieldsextendable

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/trexology-extendable/health.svg)

```
[![Health](https://phpackages.com/badges/trexology-extendable/health.svg)](https://phpackages.com/packages/trexology-extendable)
```

###  Alternatives

[cybercog/laravel-love

Make Laravel Eloquent models reactable with any type of emotions in a minutes!

1.2k302.7k1](/packages/cybercog-laravel-love)[rtconner/laravel-likeable

Trait for Laravel Eloquent models to allow easy implementation of a 'like' or 'favorite' or 'remember' feature.

394388.0k5](/packages/rtconner-laravel-likeable)[ironshark/laravel-extendable

Traits for Laravel to add and manage custom Eloquent model fields.

2411.0k](/packages/ironshark-laravel-extendable)[relaticle/custom-fields

User Defined Custom Fields for Laravel Filament

15828.6k](/packages/relaticle-custom-fields)[cybercog/laravel-nova-ban

A Laravel Nova banning functionality for your application.

40199.8k](/packages/cybercog-laravel-nova-ban)[pawelmysior/laravel-publishable

Toggle the published state of your Eloquent models easily

2219.1k3](/packages/pawelmysior-laravel-publishable)

PHPackages © 2026

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