PHPackages                             erdalceylan/array-join - 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. erdalceylan/array-join

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

erdalceylan/array-join
======================

Array join

2.1.0(6y ago)1220711MITPHPPHP &gt;=7.0

Since Oct 26Pushed 6y ago1 watchersCompare

[ Source](https://github.com/erdalceylan/array-join)[ Packagist](https://packagist.org/packages/erdalceylan/array-join)[ RSS](/packages/erdalceylan-array-join/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (4)Used By (1)

[![logo](assets/elastic-x-pack.png)](assets/elastic-x-pack.png) Array Join for PHP
==================================================================================

[](#-array-join-for-php)

![GitHub package version](https://camo.githubusercontent.com/0104321469803075bfca8bbe43cdd191bbe89249a172e1189a78e3222aba8469/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f657264616c6365796c616e2f61727261792d6a6f696e2e7376673f7374796c653d666c61742d737175617265)![Total Downloads](https://camo.githubusercontent.com/1086b37816e588254e3068c770269c0ae81ed972de6afc469035f0888760f2d1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f657264616c6365796c616e2f61727261792d6a6f696e2e7376673f7374796c653d666c61742d737175617265)![Packagist](https://camo.githubusercontent.com/70fd8334dcaf1a400679c18cfdb189fa1013753c77035df3ba624734d6285cc8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f657264616c6365796c616e2f61727261792d6a6f696e2e7376673f7374796c653d666c61742d737175617265)![Travis](https://camo.githubusercontent.com/bea906b4b2caff76a4f4769c9d4b907c43770113866e484a38debc9c28c11467/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f726571756972652d504850253230372d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)

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

[](#installation)

### Using Composer

[](#using-composer)

```
composer require erdalceylan/array-join
```

##### OR

[](#or)

composer.json

```
{
    "require": {
      "erdalceylan/array-join": "dev-master"
    }
}
```

### USAGE

[](#usage)

#### data

[](#data)

```
$users = [
    ["id"=>1, "nick"=>"erdal"],
     (object)["id"=>2, "nick"=>"furkan" ],
    ["id"=>3, "nick"=>"huseyin"],
    ["id"=>4, "nick"=>"hümeyra" ],
    ["id"=>5, "nick"=>"tuba" ],
];

 $items = [
     ["user_id"=>1, "item"=>"kaban", "mmx" => "mmx1"],
    ["user_id"=>1, "item"=>"çorap", "mmx" => "mmx2"],
    ["user_id"=>1, "item"=>"çorap", "mmx" => "mmx3"],
     (object)["user_id"=>1, "item"=>"çorap", "mmx" => "mmx4"],
    ["user_id"=>1, "item"=>"çorap", "mmx" => "mmx5"],
    ["user_id"=>1, "item"=>"çorap", "mmx" => "mmx6"],
    ["user_id"=>2, "item"=>"araba", "mmx" => "mmx7"],
     (object)["user_id"=>9, "item"=>"ev", "mmx" => "mmx8"],
    ["user_id"=>10, "item"=>"yat", "mmx" => "mmx9"],
];

$foods = [
    ["user_id"=>1, "food"=>"iskender"],
    ["user_id"=>2, "food"=>"adana"],
];

$texts = [
    ["user_id"=>1, "text"=>"merhaba"],
    ["user_id"=>15, "text"=>" hi"],
];
```

##### example 1

[](#example-1)

```
 $instance = \ArrayJoin\Builder::newInstance()
     ->select("a.nick")
     ->from($users, "a")
     ->setFetchType(\ArrayJoin\Builder::FETCH_TYPE_ARRAY);

 $instance->execute();

 //output
 array (
   array ('nick' => 'erdal'),
   array ('nick' => 'furkan'),
   array ('nick' => 'huseyin'),
   array ('nick' => 'hümeyra'),
   array ('nick' => 'tuba',)
);
```

##### example 2

[](#example-2)

```
 $instance = \ArrayJoin\Builder::newInstance()
     ->select("a.id", "a.nick", "b.item")
     ->from($users, "a")
     ->innerJoin($items, "b", new \ArrayJoin\On("a.id = b.user_id"))
     ->setFetchType(\ArrayJoin\Builder::FETCH_TYPE_ARRAY)
     ->offset(1)
     ->limit(2);

 $instance->execute();
 //output
 array (
   array ('id' => 1,'nick' => 'erdal','item' => 'çorap',),
   array ('id' => 1,'nick' => 'erdal','item' => 'çorap',)
 );
```

##### example 3

[](#example-3)

```
$instance = \ArrayJoin\Builder::newInstance()
    ->select("a.id", "a.nick", "b.item", "d.food")
    ->from($users, "a")
    ->innerJoin($items, "b", new \ArrayJoin\On("a.id = b.user_id"))
    ->leftJoin($texts, "c", new \ArrayJoin\On("a.id = c.user_id"))
    ->rightJoin($foods, "d", new \ArrayJoin\On("b.user_id = d.user_id"))
     ->where(function ($id, $text, $item, $food){
         return $id < 50;
     }, "a.id", "c.text", "b.item", "d.food")
     ->groupBy("a.id", "d.food")
     ->limit(2)
     ->offset(1)
     ->setFetchType(\ArrayJoin\Builder::FETCH_TYPE_OBJECT);

 $instance->execute();

 array (
   stdClass::__set_state(array(
      'id' => 1,
      'nick' => 'erdal',
      'item' => 'çorap',
      'food' => 'iskender',
   )),
   stdClass::__set_state(array(
      'id' => 1,
      'nick' => 'erdal',
      'item' => 'çorap',
      'food' => 'iskender',
   )),
 );
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

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

Total

3

Last Release

2319d ago

Major Versions

1.0.0 → 2.0.02019-09-13

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

arrayormsqljoinmergeutil

### Embed Badge

![Health badge](/badges/erdalceylan-array-join/health.svg)

```
[![Health](https://phpackages.com/badges/erdalceylan-array-join/health.svg)](https://phpackages.com/packages/erdalceylan-array-join)
```

###  Alternatives

[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[cycle/orm

PHP DataMapper ORM and Data Modelling Engine

1.3k835.4k65](/packages/cycle-orm)[nilportugues/sql-query-builder

An elegant lightweight and efficient SQL QueryInterface BuilderInterface supporting bindings and complicated query generation.

425239.4k6](/packages/nilportugues-sql-query-builder)[atlas/orm

An ORM for your persistence model (not your domain model).

429139.8k12](/packages/atlas-orm)[morris/lessql

LessQL: A lightweight and performant PHP ORM alternative

405140.0k3](/packages/morris-lessql)[tareq1988/wp-eloquent

Eloquent ORM for WordPress

57254.7k](/packages/tareq1988-wp-eloquent)

PHPackages © 2026

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