PHPackages                             codewiser/inarticulate - 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. codewiser/inarticulate

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

codewiser/inarticulate
======================

Inarticulate is not Eloquent (Laravel Redis Model)

0.1.12(5y ago)054MITPHPPHP &gt;=7.0

Since Sep 15Pushed 5y ago2 watchersCompare

[ Source](https://github.com/C0deWiser/inarticulate)[ Packagist](https://packagist.org/packages/codewiser/inarticulate)[ RSS](/packages/codewiser-inarticulate/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

Inarticulate
============

[](#inarticulate)

Inarticulate is a Eloquent extender to work with Redis storage.

Inarticulate Model is absolutely the same as Eloquent Model. It has one important difference — there are no autoincrement keys in Redis. So Inarticulate has

```
public $incrementing = false;
```

Inarticulate Builder extends Eloquent Builder, but it overrides just few methods — find, insert, update, delete and exists. So just do not call any others — that are not applicable for Redis.

As Inarticulate extends Eloquent Model your may use attributes Accessors and Mutators, castings, property guards etc.

Redis key
---------

[](#redis-key)

Redis key is build up from three properties — hashed APP\_KEY, `$table` property and model primary key. Redis key will look like

```
d781b523ed68d90c599832956ff10ea9:article:243

```

Redis expire
------------

[](#redis-expire)

Set positive `protected $redisExpire` value to set expiration timout for Model.

Usage
-----

[](#usage)

To prevent Builder from resolving undefined attributes as a relations (that is not supported, you know) just define default attribute values in `$attributes` array.

```
/**
 * @property mixed id
 * @property string title
 * @property string body
 */
class Article extneds \Codewiser\Inarticulate\Model
{
    protected $attributes = [
        'title' => null,
        'body' => null
    ];
}
```

```
$article = new Article();

$article->exists; // FALSE

$article->id = 1;
$article->title = "Title";
$article->save();

$article->exists; // TRUE
```

```
$article = Article::query()->findOrFail(1);

echo $article->title;
```

Builder methods
---------------

[](#builder-methods)

Fearlessly use these Model and Builder methods:

- find
- findOrFail
- findOrNew
- findMany
- exists
- refresh

Get all records

```
Model::all();
// or
Model::query()->get();
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

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 ~13 days

Total

4

Last Release

2030d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

redis-model

### Embed Badge

![Health badge](/badges/codewiser-inarticulate/health.svg)

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

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11320.2M21](/packages/anourvalar-eloquent-serialize)[overtrue/laravel-versionable

Make Laravel model versionable.

585308.0k5](/packages/overtrue-laravel-versionable)[abbasudo/laravel-purity

elegant way to add filter and sort in laravel

514330.5k1](/packages/abbasudo-laravel-purity)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135192.6k5](/packages/statamic-rad-pack-runway)[dragon-code/laravel-deploy-operations

Performing any actions during the deployment process

240173.5k2](/packages/dragon-code-laravel-deploy-operations)[alvin0/redis-model

Introducing Redis Model - a Laravel package that connects to Redis and functions similarly to Eloquent Model, offering efficient data manipulation and retrieval capabilities.

785.8k](/packages/alvin0-redis-model)

PHPackages © 2026

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