PHPackages                             cping/order-flex - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. cping/order-flex

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

cping/order-flex
================

Flexible order record package for PHP apps

10PHP

Since Jan 12Pushed 4mo agoCompare

[ Source](https://github.com/cping6/OrderFlex)[ Packagist](https://packagist.org/packages/cping/order-flex)[ RSS](/packages/cping-order-flex/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

OrderFlex
=========

[](#orderflex)

OrderFlex 是一个适用于多种 PHP 框架的订单记录扩展包，提供统一的订单基础字段，同时允许业务自定义字段灵活扩展，并通过索引型的键值表实现快速查询。

安装
--

[](#安装)

```
composer require acme/order-flex
```

设计说明
----

[](#设计说明)

订单数据分为三部分：

- `orders`：统一的基础字段（订单号、类型、状态、金额、买家、时间等）。
- `attributes`：灵活扩展字段，存储 JSON，不直接索引。
- `relations` / `indexed_fields`：用于快速查询的键值表，适合外部关联字段或需要高频筛选的字段。

你可以自由定义订单类型，例如：正常订单、拼团、营销、积分商城、服务订单、秒杀、统筹、代付、充值、VIP、套餐等。

字段说明
----

[](#字段说明)

基础字段（`orders` 表）：

- `id`：自增主键。
- `order_no`：订单号（唯一）。
- `type`：订单类型（如 normal、group、marketing、points、service、seckill 等）。
- `status`：订单状态（如 pending、paid、shipped、finished、closed 等）。
- `amount`：订单实际支付金额。
- `currency`：币种（默认 CNY）。
- `buyer_id`：买家 ID（可用作用户筛选）。
- `attributes_json`：扩展字段 JSON（展示用，不建索引）。
- `relations_json`：关联字段 JSON（展示用）。
- `indexed_fields_json`：索引字段 JSON（展示用）。
- `created_at` / `updated_at`：创建/更新时间。

扩展字段（逻辑层）：

- `attributes`：展示用字段，适合存放订单详情、营销明细、积分、备注等。
- `relations`：跨系统关联字段（如 user\_id、shop\_id、app\_id、order\_source）。
- `indexed_fields`：高频筛选字段（如 campaign\_id、coupon\_id、delivery\_type）。

数据表
---

[](#数据表)

参考并执行 `migrations/mysql.sql` 创建表结构。

快速开始
----

[](#快速开始)

```
