didslm/sql-builder

一个灵活的PHP包,用于使用构建器模式构建SQL查询。

v1.1.1 2023-09-16 22:47 UTC

This package is auto-updated.

Last update: 2024-09-17 01:08:33 UTC


README

SQL查询构建器是一个PHP包,旨在帮助开发人员使用构建器模式构建SQL查询,从最简单的到最复杂的。

功能

  • 简单直观的API。
  • 支持包括SELECTINSERTUPDATEDELETE在内的各种SQL操作。
  • 可扩展的架构允许添加更多自定义查询类型。
  • WhereJoinOrderBy之类的强类型组件提供了更好的IDE支持和减少了运行时错误。

安装

使用Composer

composer require didslm/sql-builder

用法

简单的SELECT查询

<?php

require 'vendor/autoload.php';

use Didslm\QueryBuilder\SelectQueryBuilder;

$query = SelectQueryBuilder::from('users')
    ->select('*')
    ->where('age', 18)
    ->build();

echo $query;  // Outputs: SELECT * FROM users WHERE age = 18

复杂查询

$query = SelectQueryBuilder::from('users')
    ->select('*')
    ->join('posts', 'users.id', 'posts.user_id')
    ->where('users.age', 18, '>')
    ->where('posts.published', true)
    ->build();

echo $query;  // Outputs: SELECT * FROM users JOIN posts ON users.id = posts.user_id WHERE users.age > 18 AND posts.published = true

分组条件

$sql = SelectBuilder::from('users')
    ->where('name', 'John')
    ->and('age', 18)
    ->and('email', 'selimi')
    ->or('name', 'test')
    ->and('email', 'selimi')
    ->build();

echo $sql;  // Outputs: SELECT * FROM users WHERE (name = 'John' AND age = 18 AND email = 'selimi') OR (name = 'test' AND email = 'selimi')

测试

在克隆存储库并安装依赖项后,您可以使用以下命令运行测试

vendor/bin/phpunit

贡献

欢迎提交拉取请求!对于主要更改,请首先提交一个问题来讨论您想要更改的内容。

请确保适当更新测试。

许可协议

MIT