PHPackages                             accolon/izanami - 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. accolon/izanami

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

accolon/izanami
===============

Library to data layer abstration

5.5.0(5y ago)1551MITPHP

Since Feb 25Pushed 5y ago1 watchersCompare

[ Source](https://github.com/jvrcavalcanti/Izanami)[ Packagist](https://packagist.org/packages/accolon/izanami)[ Docs](https://github.com/jvrcavalcanti/DataLayer)[ RSS](/packages/accolon-izanami/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (2)Versions (58)Used By (1)

DataLayer Accolon
=================

[](#datalayer-accolon)

Config
------

[](#config)

```
# config.php

define("DB_CONFIG", [
    "driver" => "mysql",
    "host" => "localhost",
    "port" => 3306,
    "name" => "accolon",
    "charset" => "utf8",
    "user" => "accolon",
    "password" => "password"
]);
```

Model
-----

[](#model)

```
use Accolon\DataLayer\Model;

class User extends Model
{
    protected string $table = "users";

    protected $sentives = [
        "password"
    ];
}
```

Insert
------

[](#insert)

```
// First way
$user = new User();

$user->name = "Accolon";
$user->email = "test@gmail.com";

$user->save();

// Second way
$user = new User([
    "name" => "Accolon",
    "email" => "test@gmail.com"
]);

$user->save();

// Third way
$user = new User();

$user->create([
    "name" => "Accolon",
    "email" => "test@gmail.com"
]);
```

Update
------

[](#update)

```
$user = new User();

$user->where("name", "Accolon")->update([
    "email" => "test2@gmail.com"
]);

// Or
$user = (new User)->find(1);
// $user->name == "Accolon"
$user->email = "email" => "test@gmail.com";
$user->save();
```

Delete
------

[](#delete)

```
$user = new User();

$user->where("name", "Accolon")->delete();

// Or

$user->name = "Accolon";
$user->delete();
```

Query
-----

[](#query)

### Get

[](#get)

```
$table = new User();

// Return one element
$user = $table->where("name", "Accolon")->first();
```

### Get All

[](#get-all)

```
$table = new User();

// Return array
$user = $table->where("id", ">", 1)->all();
```

### Where

[](#where)

```
$table = new User();

$table->where("name", "Accolon");

// Equal

$table->where("name", "=", "Accolon");

// Other compares

$table->where("id", ">", 1);

$table->where("id", "", 2)->first();
```

### All

[](#all)

```
$table = new User();

$user = $table->all();
```

### Order By

[](#order-by)

```
$table = new User();

$users = $table->where("id", ">", 2)->order("id", "DESC")->getAll();

$user = $table->where("id", ">", 2)->desc()->all();

$user = $table->where("id", ">", 2)->asc()->all();
```

### Limit

[](#limit)

```
$table = new User();

$user = $table->where("id", ">", 2)->limit(5)->getAll();
```

### Count

[](#count)

```
$table = new User();

$user = $table->where("id", ">", 2)->count();
```

### Relationships

[](#relationships)

```
use Accolon\Izanami\Model;

class User extends Model
{
    // One to One
    public function phone()
    {
        return $this->hasOne(Phone::class);
    }

    // One to Many
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

class Post extends Model
{
    // One to Many (Inverse)
    public function user()
    {
        return $this->belongsToOne(User::class);
    }

    // Many to Many
    public function tags()
    {
        return $this->morphToMany(Tag::class, 'taggable');
    }
}

class Phone extends Model
{
    // One to One (Inverse)
    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

class Tag extends Model
{
    // Many to Many (Inverse)
    public function posts()
    {
        return $this->morphedByMany(Post::class, 'taggable');
    }
}
```

### Raw

[](#raw)

```
$table = new User();

// Return boolean
$result = DB::raw("SELECT * FROM test WHERE id = 1");

// Return array
$result = DB::selectRaw("SELECT * FROM test WHERE id = 1");
```

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity70

Established project with proven stability

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

Recently: every ~32 days

Total

57

Last Release

1893d ago

Major Versions

1.4.4 → 2.0.02020-03-02

2.9.0 → 3.0.02020-06-09

3.4.1 → 4.0.02020-07-14

4.5.1 → 5.0.02020-10-13

PHP version history (2 changes)1.0.0PHP &gt;=7.2

2.2.0PHP ^7.4

### Community

Maintainers

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

---

Top Contributors

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

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/accolon-izanami/health.svg)

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

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.3k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M545](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

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