zi/zquery 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

zi/zquery

最新稳定版本:0.2.0-alpha

Composer 安装命令:

composer require zi/zquery

包简介

Focused fluent SQL query builder for PHP 8.2+

README 文档

README

ZQuery is a focused fluent SQL query builder for PHP 8.2+.

It gives you a lightweight database layer with:

  • fluent select, insert, update, and delete queries
  • PDO and MySQLi support
  • MySQL and PostgreSQL grammar support
  • transaction helpers
  • SQL compilation helpers for testing and debugging

Install

composer require zi/zquery

Quick Start

use ZQuery\ZQuery;
use ZQuery\Query\Grammar\MysqlGrammar;

$pdo = new PDO('mysql:host=127.0.0.1;dbname=app', 'user', 'pass', [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);

$zq = new ZQuery([
    'engine' => 'pdo',
    'pdo' => $pdo,
    'grammar' => new MysqlGrammar(),
]);

$users = $zq->table('users')
    ->select(['id', 'email'])
    ->where('status', '=', 'active')
    ->latest('created_at')
    ->limit(10)
    ->get();

Returns:

[
    ['id' => 42, 'email' => 'ada@example.com'],
    ['id' => 41, 'email' => 'grace@example.com'],
]

Common Helpers

$user = $zq->table('users')
    ->where('email', '=', 'a@example.com')
    ->first();

$activeCount = $zq->table('users')
    ->where('status', '=', 'active')
    ->count();

$emails = $zq->table('users')
    ->where('status', '=', 'active')
    ->pluck('email');

Returns:

$user = ['id' => 7, 'email' => 'a@example.com', 'status' => 'active'];
$activeCount = 24;
$emails = ['a@example.com', 'b@example.com', 'c@example.com'];

SQL Compilation

$compiled = $zq->table('users')
    ->where('users.status', '=', 'active')
    ->latest('users.created_at')
    ->limit(10)
    ->compileSelect();

Returns:

[
    'sql' => 'SELECT * FROM `users` WHERE `users`.`status` = ? ORDER BY `users`.`created_at` DESC LIMIT 10',
    'params' => ['active'],
]

Transactions

$zq->transaction(function () {
    $this->table('users')
        ->where('id', '=', 10)
        ->update(['status' => 'disabled'])
        ->executeUpdate();

    $this->statement(
        'INSERT INTO audit_logs (action, user_id) VALUES (?, ?)',
        ['user.disabled', 10]
    );
});

More Docs

See USAGE.md for the extended usage guide with more examples and result shapes.

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-03-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固