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 3w 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

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

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

2077d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1220316?v=4)[Michael Michaelson](/maintainers/Cellard)[@Cellard](https://github.com/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

11223.5M33](/packages/anourvalar-eloquent-serialize)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[api-platform/laravel

API Platform support for Laravel

58171.6k14](/packages/api-platform-laravel)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)

PHPackages © 2026

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