PHPackages                             luckyteam/arraydb-condition - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. luckyteam/arraydb-condition

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

luckyteam/arraydb-condition
===========================

0171PHP

Since Mar 26Pushed 9y agoCompare

[ Source](https://github.com/theluckyteam/arraydb-condition)[ Packagist](https://packagist.org/packages/luckyteam/arraydb-condition)[ RSS](/packages/luckyteam-arraydb-condition/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Condition
=========

[](#condition)

Condition - компонент приложения позволяет в удобной форме оформить условие в коде программы и выполнить его.

Как использовать?
-----------------

[](#как-использовать)

Получить любым удобным способом строитель условий (ConditionBuilder). Передать на вход метода ConditionBuilder::build() нотацию и получить экземпляр условия. Воспользоваться экземпляром условия там где требуется его проверка.

```
$builder = new ConditionBuilder();
$condition = $builder->build($notation);
$condition->execute($model);
```

Какие условия можно создавать?
------------------------------

[](#какие-условия-можно-создавать)

- Условие сравнения
- Условие на основе функции обратного вызова
- Хеш условие
- In
- Not
- Between
- Like
- And
- Or

### Условие сравнения

[](#условие-сравнения)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build([
    '>', 'attribute1', 1
]);
$condition->execute($model);
```

Операторы сравнения

"equal", "=", "not equal", "!=", "more", "&gt;", "more or equal", "&gt;=", "less", "&lt;", "less or equal", "&lt;=".

### Условие на основе функции обратного вызова

[](#условие-на-основе-функции-обратного-вызова)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build(function($model){
    return $model->discount > (($model->price + $model->discount) * 0,5);
});
$condition->execute($model);
```

### Хеш условие

[](#хеш-условие)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'attribute1' => ['Foo', 'Bzz'], // На основании этого элемента будет построено IN - условие
    'attribute2' => 'value2'
]);
$condition->execute($model);
```

### IN условие

[](#in-условие)

```
/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'in', [
        'attribute' => ['Foo', 'Bzz']
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'in', 'attribute', ['Foo', 'Bzz']
]);
$condition->execute($model);
```

### NOT условие

[](#not-условие)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'not', [
        '>=', 'attribute1' , 100
    ]
]);
$condition->execute($model);
```

### BETWEEN условие

[](#between-условие)

```
/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'between', [
        'attribute' => [1, 10]
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'between', [
        'attribute' => [1, 10]
    ],
]);
$condition->execute($model);
```

### LIKE условие

[](#like-условие)

```
/** @var ConditionBuilder $builder */
// Формат для записи условия избранный первоначально
$condition = $builder->build([
    'like', [
        'attribute' => "/F.o/"
    ],
]);

// Формат реализованный для соответсвия Yii2
$condition = $builder->build([
    'like', 'attribute', "/F.o/"
]);
$condition->execute($model);
```

### AND условие

[](#and-условие)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'and', [
        '>=', 'attribute1' , 1
    ], [
        'attribute2' => 'value2'
    ]
]);
$condition->execute($model);
```

### OR условие

[](#or-условие)

```
/** @var ConditionBuilder $builder */
$condition = $builder->build([
    'or', [
        '>=', 'attribute1' , 1
    ], [
        'attribute2' => 'value2'
    ]
]);
$condition->execute($model);
```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8207055?v=4)[luckyteam](/maintainers/luckyteam)[@luckyteam](https://github.com/luckyteam)

---

Top Contributors

[![mironorange](https://avatars.githubusercontent.com/u/3313256?v=4)](https://github.com/mironorange "mironorange (9 commits)")

### Embed Badge

![Health badge](/badges/luckyteam-arraydb-condition/health.svg)

```
[![Health](https://phpackages.com/badges/luckyteam-arraydb-condition/health.svg)](https://phpackages.com/packages/luckyteam-arraydb-condition)
```

###  Alternatives

[lipis/flag-icons

A curated collection of all country flags in SVG — plus the CSS for easier integration.

12.2k37.6k9](/packages/lipis-flag-icons)[tritum/form-element-linked-checkbox

Adds a new form element which allows the editor to create a checkbox with a linked label text. This is an extension for TYPO3 CMS.

28726.3k](/packages/tritum-form-element-linked-checkbox)[silasjoisten/sonata-multiupload-bundle

A Bundle which allows you to enable Multiupload in Sonata

30102.1k](/packages/silasjoisten-sonata-multiupload-bundle)[gabrieliuga/laravel-nova-sidebar-links

Allow definition of custom links on Laravel Nova sidebar.

12198.0k](/packages/gabrieliuga-laravel-nova-sidebar-links)[demency/nova-gridder

A Laravel Nova Package for resource details grids.

1615.2k](/packages/demency-nova-gridder)

PHPackages © 2026

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