PHPackages                             doit/db - 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. doit/db

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

doit/db
=======

081[1 PRs](https://github.com/MrPsCHen/db/pulls)PHP

Since Apr 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/MrPsCHen/db)[ Packagist](https://packagist.org/packages/doit/db)[ RSS](/packages/doit-db/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependenciesVersions (3)Used By (0)

### PHP DB查询库

[](#php-db查询库)

##### create：2021-8-27

[](#create2021-8-27)

##### version：0.1.0

[](#version010)

##### description

[](#description)

关于DB查询库，其用法主要模仿至TP，从中在使用细节上做了一些优化，特别简化了where的条件生成， 并增强了多表查询的优化

###### 环境要求

[](#环境要求)

`mysql: >=5.7``php: >=7.4`

安装

```
composer require doit/db dev-master

```

### 初始化

[](#初始化)

```
$config = \EasyDb\Config\MysqlConfig::set('192.168.200.3','iot','root','root');//静态设置 配置对象
$drive  = new \EasyDb\Drive\MysqlPdoDrive();//静态获取 驱动对象

\EasyDb\Db::setConfig($config);//注入配置和驱动
\EasyDb\Db::setDrive($drive);

```

### Query

[](#query)

基本是模仿TP DB操作流程

常用方法

1. `toArray` 与TP一样，获得select 数组结果集

###### 基本查询

[](#基本查询)

```
$db = \EasyDb\Db::table('user');
$db->where(["id"=>1])->select();

```

###### AND

[](#and)

```
$db->where(["id"=>1,"name"=>"john"])->select();

```

- SELECT \* FROM user WHERE id=1 AND name=2

传入数组，元素不被数组包裹的情况下，为AND连接

###### OR

[](#or)

```
$db->where(["id"=>1,["name"=>"john"]])->select();

```

- SELECT \* FROM user WHERE id=1 OR name="john"

跟随条件单层数组包裹，将变为OR

###### 括号优先级

[](#括号优先级)

```
$db->where(["id"=1,[["name"=>"john","id"=>1]]])->select();

```

- SELECT \* FROM user WHERE id=1 OR (name="john" AND id=1 )

当查询条件被双层数组包裹时，这将进行 "()" 包裹起来

###### JOIN

[](#join)

```
$db->where(["id"=1,[["name"=>"john","id"=>1]]]);
$db->join('group','`group`.`id` = `user`.`group_id`');

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity29

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/37c354c75abe27595e3c38f8105b6b022314031bebf58fb1ef5fc5b5aea7266c?d=identicon)[shineDown](/maintainers/shineDown)

---

Top Contributors

[![taxsMan](https://avatars.githubusercontent.com/u/176272661?v=4)](https://github.com/taxsMan "taxsMan (45 commits)")

### Embed Badge

![Health badge](/badges/doit-db/health.svg)

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

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

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