PHPackages                             ybr-nx/laravel-mariadb - 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. ybr-nx/laravel-mariadb

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

ybr-nx/laravel-mariadb
======================

Add MariaDB JSON select support to Laravel

1.0.20(6y ago)96456.4k—8.8%8[4 issues](https://github.com/ybr-nx/laravel-mariadb/issues)2EUPL-1.2PHP

Since Aug 17Pushed 6y ago4 watchersCompare

[ Source](https://github.com/ybr-nx/laravel-mariadb)[ Packagist](https://packagist.org/packages/ybr-nx/laravel-mariadb)[ RSS](/packages/ybr-nx-laravel-mariadb/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (21)Used By (2)

laravel-mariadb
===============

[](#laravel-mariadb)

Add MariaDB JSON support to Laravel. Requires at least MariaDB 10.2.3 (and 10.2.7 to use -&gt;json() migrations)

#### Install

[](#install)

Using composer:

```
$ composer require ybr-nx/laravel-mariadb

```

#### Configure (only Larvel 5.3 and 5.4)

[](#configure-only-larvel-53-and-54)

Include MariaDBServiceProvider in your config/app.php:

```
'providers' => [
    /*
     * Package Service Providers...
     */
    YbrNX\MariaDB\MariaDBServiceProvider::class,
]
```

set **driver** in database configuration to **mariadb**

```
'defaultconnection' => [
    'driver' => 'mariadb',
```

#### Added functionality

[](#added-functionality)

##### Migration

[](#migration)

Adds needed validation to json fields during migrations

```
$table->json('field') //CHECK (JSON_VALID(field))
$table->json('field')->nullable() //CHECK (field IS NULL OR JSON_VALID(field))
```

##### Query builder

[](#query-builder)

Builds json select statements to work with MariaDB

```
$query->where('somejson->something->somethingelse', 2)
DB::table('sometable')->select('sometable.somedata', 'sometable.somejson->somedata as somejsondata')
```

And also JSON\_SET() works in MariaDB as in MySQL 5.7

```
DB::table('sometable')->where('somejson->somedata', $id)->update(['somejson->otherdata' => 'newvalue']);
```

**NB** There is bug in **MariaDB &lt; 10.2.8** JSON\_EXTRACT() behaviour function. It's fixed in MariaDB 10.2.8:

```
//works with string in MySQL & MariaDB 10.2.8
$query->where('somejson->something->somethingelse', 'somedata')

//works with string in MariaDB < 10.2.8
$query->where('somejson->something->somethingelse', '"somedata"')
```

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity50

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 95.1% 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 ~39 days

Recently: every ~100 days

Total

20

Last Release

2442d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6fbdc8b7c0b8853f62903bfb365c6f45403c7a4db7614b38c511051259c5588?d=identicon)[ybr-nx](/maintainers/ybr-nx)

---

Top Contributors

[![ybr-nx](https://avatars.githubusercontent.com/u/832778?v=4)](https://github.com/ybr-nx "ybr-nx (39 commits)")[![timrspratt](https://avatars.githubusercontent.com/u/20431294?v=4)](https://github.com/timrspratt "timrspratt (2 commits)")

---

Tags

jsonlaraveldatabasemariadb

### Embed Badge

![Health badge](/badges/ybr-nx-laravel-mariadb/health.svg)

```
[![Health](https://phpackages.com/badges/ybr-nx-laravel-mariadb/health.svg)](https://phpackages.com/packages/ybr-nx-laravel-mariadb)
```

###  Alternatives

[scienta/doctrine-json-functions

A set of extensions to Doctrine that add support for json query functions.

58723.9M36](/packages/scienta-doctrine-json-functions)[codezero/laravel-unique-translation

Check if a translated value in a JSON column is unique in the database.

186965.1k7](/packages/codezero-laravel-unique-translation)[arcanedev/laravel-settings

This package allows you to persists configs/settings for Laravel projects.

74131.4k6](/packages/arcanedev-laravel-settings)[guidocella/eloquent-populator

Guess attributes for Eloquent model factories

7661.6k2](/packages/guidocella-eloquent-populator)[mvanduijker/laravel-model-exists-rule

Validation rule to check if a model exists

22194.5k1](/packages/mvanduijker-laravel-model-exists-rule)[toponepercent/baum

Baum is an implementation of the Nested Set pattern for Eloquent models.

3154.7k](/packages/toponepercent-baum)

PHPackages © 2026

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