PHPackages                             blackstone/laravel-nocodb - 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. blackstone/laravel-nocodb

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

blackstone/laravel-nocodb
=========================

NocoDB Eloquent Driver for Laravel

v1.1.2(3mo ago)01↓100%MITPHPPHP ^8.2

Since Nov 29Pushed 3mo agoCompare

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

READMEChangelogDependencies (8)Versions (9)Used By (0)

NocoDB Eloquent Driver for Laravel
==================================

[](#nocodb-eloquent-driver-for-laravel)

A Laravel package that provides an Eloquent driver for NocoDB, allowing you to interact with NocoDB tables using standard Eloquent syntax.

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

[](#installation)

1. Install via Composer:

```
composer require blackstone/laravel-nocodb
```

2. Publish the configuration file:

```
php artisan vendor:publish --tag=nocodb-config
```

Configuration
-------------

[](#configuration)

Add your NocoDB credentials to your `.env` file:

```
NOCODB_API_URL=https://app.nocodb.com
NOCODB_API_TOKEN=your-api-token
NOCODB_PROJECT=p_xxxx
NOCODB_WORKSPACE=optional
```

Usage
-----

[](#usage)

### Creating a Model

[](#creating-a-model)

Create a model and use the `NocoModelTrait`. Set the `$table` property to your NocoDB table name (or ID).

```
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use BlackstonePro\NocoDB\Traits\NocoModelTrait;

class Lead extends Model
{
    use NocoModelTrait;

    protected $table = 'leads'; // Or Table ID
    protected $primaryKey = 'Id'; // Default is Id
    protected $fillable = ['name', 'email', 'status', 'amount'];
}
```

### Querying

[](#querying)

You can use standard Eloquent methods:

```
// Get all leads
$leads = Lead::all();

// Filter and Sort
$leads = Lead::where('status', 'new')
    ->where('amount', '>', 500)
    ->orderBy('CreatedAt', 'desc')
    ->get();

// Pagination
$leads = Lead::paginate(25);

// Find by ID
$lead = Lead::find(1);
```

### Creating Records

[](#creating-records)

```
$lead = Lead::create([
    'name' => 'John Doe',
    'email' => 'john@example.com',
    'status' => 'new',
    'amount' => 1000
]);
```

### Updating Records

[](#updating-records)

```
$lead = Lead::find(1);
$lead->update(['status' => 'contacted']);

// Or via query (requires ID in where clause for now)
Lead::where('Id', 1)->update(['status' => 'contacted']);
```

### Deleting Records

[](#deleting-records)

```
$lead = Lead::find(1);
$lead->delete();

// Or via query
Lead::destroy(1);
```

Features
--------

[](#features)

- **Eloquent Compatibility**: Works with `where`, `orderBy`, `limit`, `offset`, `paginate`.
- **NocoDB API v2**: Uses the latest NocoDB REST API.
- **Automatic Retries**: Handles transient API failures.
- **Clean Code**: Follows Laravel standards.

License
-------

[](#license)

MIT

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance82

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.4% 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 ~9 days

Recently: every ~16 days

Total

8

Last Release

96d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/886b025ab82664cb06603c610067532bfa7b361b299a0af475278af70b94b0b9?d=identicon)[rkzn](/maintainers/rkzn)

---

Top Contributors

[![rkzn](https://avatars.githubusercontent.com/u/804692?v=4)](https://github.com/rkzn "rkzn (17 commits)")[![rarkhipovsw](https://avatars.githubusercontent.com/u/217712798?v=4)](https://github.com/rarkhipovsw "rarkhipovsw (1 commits)")

---

Tags

apilaraveldatabaseeloquentnocodb

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/blackstone-laravel-nocodb/health.svg)

```
[![Health](https://phpackages.com/badges/blackstone-laravel-nocodb/health.svg)](https://phpackages.com/packages/blackstone-laravel-nocodb)
```

###  Alternatives

[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k7.2M71](/packages/mongodb-laravel-mongodb)[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[spiritix/lada-cache

A Redis based, automated and scalable database caching layer for Laravel

591444.8k2](/packages/spiritix-lada-cache)[mehdi-fathi/eloquent-filter

Eloquent Filter adds custom filters automatically to your Eloquent Models in Laravel.It's easy to use and fully dynamic, just with sending the Query Strings to it.

450191.6k1](/packages/mehdi-fathi-eloquent-filter)[pdphilip/elasticsearch

An Elasticsearch implementation of Laravel's Eloquent ORM

145360.2k4](/packages/pdphilip-elasticsearch)[gearbox-solutions/eloquent-filemaker

A package for getting FileMaker records as Eloquent models in Laravel

6454.8k2](/packages/gearbox-solutions-eloquent-filemaker)

PHPackages © 2026

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