PHPackages                             yuandian/database - 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. yuandian/database

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

yuandian/database
=================

A lightweight PHP 8.1+ ORM with annotations, relations, soft deletes and multi-datasource support.

00

Since May 12Compare

[ Source](https://github.com/yuan-dian/database)[ Packagist](https://packagist.org/packages/yuandian/database)[ RSS](/packages/yuandian-database/feed)WikiDiscussions Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

 **yuandian/database**

 一款基于 PHP 8.1+ 的轻量级 ORM 框架，支持多数据库驱动、注解驱动模型、关联映射、软删除、雪花算法主键等特性。

---

目录
--

[](#目录)

- [环境要求](#%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82)
- [安装](#%E5%AE%89%E8%A3%85)
- [数据库配置](#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE)
- [快速开始](#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
- [模型定义](#%E6%A8%A1%E5%9E%8B%E5%AE%9A%E4%B9%89)
    - [表名映射](#%E8%A1%A8%E5%90%8D%E6%98%A0%E5%B0%84)
    - [主键策略](#%E4%B8%BB%E9%94%AE%E7%AD%96%E7%95%A5)
    - [数据源指定](#%E6%95%B0%E6%8D%AE%E6%BA%90%E6%8C%87%E5%AE%9A)
    - [字段映射规则](#%E5%AD%97%E6%AE%B5%E6%98%A0%E5%B0%84%E8%A7%84%E5%88%99)
- [CRUD 操作](#crud-%E6%93%8D%E4%BD%9C)
    - [新增](#%E6%96%B0%E5%A2%9E)
    - [查询](#%E6%9F%A5%E8%AF%A2)
    - [修改](#%E4%BF%AE%E6%94%B9)
    - [删除](#%E5%88%A0%E9%99%A4)
- [链式操作](#%E9%93%BE%E5%BC%8F%E6%93%8D%E4%BD%9C)
    - [WHERE 条件](#where-%E6%9D%A1%E4%BB%B6)
    - [字段选择](#%E5%AD%97%E6%AE%B5%E9%80%89%E6%8B%A9)
    - [JOIN 查询](#join-%E6%9F%A5%E8%AF%A2)
    - [分组与聚合](#%E5%88%86%E7%BB%84%E4%B8%8E%E8%81%9A%E5%90%88)
- [聚合查询](#%E8%81%9A%E5%90%88%E6%9F%A5%E8%AF%A2)
- [关联关系](#%E5%85%B3%E8%81%94%E5%85%B3%E7%B3%BB)
    - [一对一 HasOne](#%E4%B8%80%E5%AF%B9%E4%B8%80-hasone)
    - [一对多 HasMany](#%E4%B8%80%E5%AF%B9%E5%A4%9A-hasmany)
    - [远程一对一 HasOneThrough](#%E8%BF%9C%E7%A8%8B%E4%B8%80%E5%AF%B9%E4%B8%80-hasonethrough)
    - [远程一对多 HasManyThrough](#%E8%BF%9C%E7%A8%8B%E4%B8%80%E5%AF%B9%E5%A4%9A-hasmanythrough)
    - [懒加载](#%E6%87%92%E5%8A%A0%E8%BD%BD)
    - [预加载](#%E9%A2%84%E5%8A%A0%E8%BD%BD)
- [软删除](#%E8%BD%AF%E5%88%A0%E9%99%A4)
    - [基本用法](#%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95)
    - [继承 BaseModel](#%E7%BB%A7%E6%89%BF-basemodel)
    - [自定义列名](#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%88%97%E5%90%8D)
    - [禁用软删除](#%E7%A6%81%E7%94%A8%E8%BD%AF%E5%88%A0%E9%99%A4)
- [自动时间戳](#%E8%87%AA%E5%8A%A8%E6%97%B6%E9%97%B4%E6%88%B3)
    - [使用方法](#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)
- [事务管理](#%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86)
- [多数据源](#%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90)
- [支持的数据库驱动](#%E6%94%AF%E6%8C%81%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E9%A9%B1%E5%8A%A8)
- [文件结构](#%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84)
- [许可证](#%E8%AE%B8%E5%8F%AF%E8%AF%81)

---

环境要求
----

[](#环境要求)

依赖版本PHP&gt;= 8.1ext-pdo\*ext-mongodb\*（可选，MongoDB 支持）yuandian/container^1.0yuandian/tools^1.0安装
--

[](#安装)

```
composer require yuandian/database
```

快速开始
----

[](#快速开始)

```
