PHPackages                             erilshk/qrud - 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. erilshk/qrud

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

erilshk/qrud
============

A powerful and intuitive CRUD &amp; Query Builder for PHP with Laravel-like syntax

v3.0.0(1mo ago)00MITPHPPHP ^8.0

Since Nov 24Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/erilshackle/php-crud-class)[ Packagist](https://packagist.org/packages/erilshk/qrud)[ RSS](/packages/erilshk-qrud/feed)WikiDiscussions main Synced today

READMEChangelog (3)DependenciesVersions (4)Used By (0)

QCrud
=====

[](#qcrud)

QCrud é uma biblioteca leve e poderosa para operações CRUD e construção de queries em PHP, inspirada em abordagens modernas como o Query Builder do Laravel, mas com foco em simplicidade, flexibilidade e controle total sobre o SQL.

Instalação
----------

[](#instalação)

Via Composer:

```
composer require eril/qcrud
```

Configuração
------------

[](#configuração)

Antes de usar, registre uma conexão PDO

```
use Eril\QCrud\CRUD;
CRUD::registerConnection(function () {
    return new PDO(
        "mysql:host=localhost;dbname=test;charset=utf8",
        "root",
        "",
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]
    );
});
```

Também é possível passar diretamente uma instância de PDO:

```
CRUD::registerConnection($pdo);
```

Uso Básico (CRUD)
-----------------

[](#uso-básico-crud)

### Inserir registro

[](#inserir-registro)

```
$id = CRUD::table('users')->create([
    'name' => 'Erilando',
    'email' => 'email@example.com'
]);
```

### Buscar registros

[](#buscar-registros)

```
// Todos
$users = CRUD::table('users')->read();

// Por ID
$user = CRUD::table('users')->read(1);
```

### Atualizar registro

[](#atualizar-registro)

```
CRUD::table('users')->update(1, [
    'name' => 'Novo nome'
]);
```

### Deletar registro

[](#deletar-registro)

```
CRUD::table('users')->delete(1);
```

### Consulta personalizada

[](#consulta-personalizada)

```
$users = CRUD::table('users')->select(
    'age > ? AND status = ?',
    [18, 'active']
);
```

Query Builder
-------------

[](#query-builder)

O QCrud inclui um construtor de queries fluente para consultas complexas.

### Exemplo básico

[](#exemplo-básico)

```
$users = CRUD::query('users')
    ->where('age', '>', 18)
    ->orderBy('name')
    ->limit(10)
    ->get();
```

### Where avançado

[](#where-avançado)

```
CRUD::query('users')
    ->where('status', 'active')
    ->orWhere('role', ['admin', 'editor'])
    ->get();
```

### Between

[](#between)

```
CRUD::query('users')
    ->whereBetween('age', 18, 30)
    ->get();
```

### Joins

[](#joins)

```
CRUD::query('users u')
    ->join(['posts', 'p'], 'p.user_id = u.id')
    ->get();
```

### Group By e Having

[](#group-by-e-having)

```
CRUD::query('orders')
    ->select('user_id, COUNT(*) as total')
    ->groupBy('user_id')
    ->having('total', '>', 5)
    ->get();
```

### Subqueries

[](#subqueries)

```
CRUD::query('users')
    ->whereSub('id', 'IN', function($q) {
        $q->select('user_id')
          ->where('status', 'active');
    }, 'orders')
    ->get();
```

### Paginação

[](#paginação)

```
$result = CRUD::query('users')
    ->paginate(10, 1);

$data = $result['data'];
$meta = $result['pagination'];
```

Métodos úteis
-------------

[](#métodos-úteis)

### Primeiro resultado

[](#primeiro-resultado)

```
$user = CRUD::query('users')->first();
```

### Contagem

[](#contagem)

```
$total = CRUD::query('users')->count();
```

### Soma

[](#soma)

```
$total = CRUD::query('orders')->sum('price');
```

### Média

[](#média)

```
$avg = CRUD::query('orders')->avg('price');
```

### Verificar existência

[](#verificar-existência)

```
$exists = CRUD::query('users')
    ->where('email', 'test@example.com')
    ->exists();
```

Transações
----------

[](#transações)

```
CRUD::beginTransaction();

CRUD::table('users')->create([...]);
CRUD::table('profiles')->create([...]);

CRUD::commit();
```

> Em caso de erro, a transação é revertida automaticamente.

Debug
-----

[](#debug)

### Ver SQL gerado

[](#ver-sql-gerado)

```
$sql = CRUD::query('users')->where('id', 1)->toSql();
```

### Bindings

[](#bindings)

```
$params = CRUD::query('users')->where('id', 1)->getBindings();
```

Requisitos
----------

[](#requisitos)

- PHP &gt;= 8.0
- PDO habilitado

Licença
-------

[](#licença)

MIT License

Autor
-----

[](#autor)

Eril TS Carvalho

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance91

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

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.

###  Release Activity

Cadence

Every ~90 days

Total

3

Last Release

41d ago

Major Versions

v1.0.0 → 2.0.02025-11-24

2.0.0 → v3.0.02026-05-23

PHP version history (2 changes)v1.0.0PHP &gt;=7.4

2.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/74083037?v=4)[Eril TS Carvalho](/maintainers/erilshackle)[@erilshackle](https://github.com/erilshackle)

---

Top Contributors

[![erilshackle](https://avatars.githubusercontent.com/u/74083037?v=4)](https://github.com/erilshackle "erilshackle (21 commits)")

---

Tags

databaseormmysqlsqlpdocrudquery builder

### Embed Badge

![Health badge](/badges/erilshk-qrud/health.svg)

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

###  Alternatives

[jv2222/ezsql

Advance database access library. Make interacting with a database ridiculously easy. An universal interchangeable CRUD system.

87211.6k2](/packages/jv2222-ezsql)[tommyknocker/pdo-database-class

Framework-agnostic PHP database library with unified API for MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, and Oracle. Query Builder, caching, sharding, window functions, CTEs, JSON, migrations, ActiveRecord, CLI tools, AI-powered analysis. Zero external dependencies.

846.1k](/packages/tommyknocker-pdo-database-class)

PHPackages © 2026

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