Overview
本指南介绍了 Laravel MongoDB支持的 Laravel 功能。 本页讨论 Laravel 集成中 Laravel 版本12 .x功能的可用性。
以下部分包含的表格描述了 Laravel 集成中各个功能是否可用。
数据库功能
Eloquent 功能 | 可用性 |
|---|---|
配置 | ✓ |
读/写连接 | |
多个数据库连接 | ✓ |
监听查询事件 | ✓ |
监控累积查询时间 | ✓ |
事务 | ✓ 请参阅事务。 |
命令行界面 (CLI) | 使用MongoDB Shell ( |
数据库检查 | 不支持 |
数据库监控 | 不支持 |
多数据库支持/多种模式 | Unsupported Laravel uses a dot separator ( .)
between SQL schema and table names, but MongoDB allows .
characters within collection names, which might lead to
unexpected namespace parsing. |
查询功能
Laravel 集成不支持以下 Eloquent 方法:
toSql()toRawSql()whereColumn()orWhereColumn()whereFulltext()groupByRaw()orderByRaw()inRandomOrder()union()unionAll()havingRaw()having()havingBetween()orHavingRaw()whereIntegerInRaw()orWhereIntegerInRaw()whereIntegerNotInRaw()orWhereIntegerNotInRaw()
Eloquent 功能 | 可用性 |
|---|---|
运行查询 | ✓ |
分块结果 | ✓ |
聚合 | ✓ |
Select 语句 | ✓ |
原始表达式 | 不支持 |
JOINs | 使用 |
联合(Unions) | 使用 |
✓ | |
✓ | |
逻辑分组 | ✓ |
✓ | |
不支持 | |
排序 | ✓ |
随机排序 | 不支持 |
分组 | |
限制和偏移 | ✓ |
条件子句 | ✓ |
插入语句 | ✓ |
自动递增 ID | 不受支持,因为 MongoDB 使用 ObjectID |
更新或插入 (upsert) | ✓ 请参阅更新或插入文档示例。 |
更新语句 | ✓ |
更新 JSON 列 | 不支持 |
递增和递减值 | ✓ |
调试 | ✓ |
分页功能
Laravel 集成支持所有 Laravel 分页功能。
迁移功能
Laravel 集成支持所有 Laravel迁移功能,但其实施特定于 MongoDB 的模式灵活模型。
播种功能
Laravel 集成支持所有 Laravel 播种功能。
Eloquent 功能
Eloquent 功能 | 可用性 |
|---|---|
模型 | ✓ |
UUID 和 ULID 密钥 | ✓ |
时间戳 | ✓ |
检索模型 | ✓ |
高级子查询 | 不支持 |
检索或创建模型 | ✓ |
检索聚合 | 部分支持 |
插入和更新模型 | ✓ |
更新或插入 (upsert) | ✓ 请参阅在单个操作中更新或插入。 |
删除模型 | ✓ |
软删除 | ✓ |
修剪模型 | ✓ |
提示
要了解更多信息,请参阅Eloquent 模型类指南。
Eloquent 关系功能
Eloquent 功能 | 可用性 |
|---|---|
定义关系 | ✓ |
多对多关系 | ✓ |
多态关系 | ✓ |
动态关系 | ✓ |
查询关系 | ✓ |
聚合相关模型 | 不支持 |
插入和更新相关模型 | ✓ |
提示
要了解更多信息,请参阅Eloquent 模型关系指南。
Eloquent 集合功能
Laravel 集成支持所有 Eloquent集合功能。
Eloquent Mutator 功能
Eloquent 功能 | 可用性 |
|---|---|
类型转换 | ✓ |
数组和 JSON 转换 | ✓ 您可以在 MongoDB 中存储对象和数组,而无需序列化为 JSON。 |
日期转换 | ✓ |
枚举类型转换 | ✓ |
加密转换 | ✓ |
自定义转换 | ✓ |
提示
要了解更多信息,请参阅Eloquent 模型类指南。
Eloquent 模型工厂功能
Laravel 集成支持所有 Eloquent 工厂功能。