Docs 菜单

Laravel 功能兼容性

本指南介绍了 Laravel MongoDB支持的 Laravel 功能。 本页讨论 Laravel 集成中 Laravel 版本11 .x功能的可用性。

以下部分包含的表格描述了 Laravel 集成中各个功能是否可用。

Eloquent 功能
可用性

配置

读/写连接

多个数据库连接

监听查询事件

监控累积查询时间

事务

✓ 请参阅事务。

命令行界面 (CLI)

使用MongoDB Shell ( mongosh )。

数据库检查

不支持

数据库监控

不支持

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 功能
可用性

模型

UUID 和 ULID 密钥

时间戳

检索模型

高级子查询

不支持

检索或创建模型

检索聚合

部分支持

插入和更新模型

更新或插入 (upsert)

删除模型

软删除

修剪模型

提示

要了解更多信息,请参阅Eloquent 模型类指南。

Eloquent 功能
可用性

定义关系

多对多关系

多态关系

动态关系

查询关系

聚合相关模型

不支持

插入和更新相关模型

提示

要了解更多信息,请参阅Eloquent 模型关系指南。

Laravel 集成支持所有 Eloquent集合功能。

Eloquent 功能
可用性

类型转换

数组和 JSON 转换

✓ 您可以在 MongoDB 中存储对象和数组,而无需序列化为 JSON。

日期转换

枚举类型转换

加密转换

自定义转换

提示

要了解更多信息,请参阅Eloquent 模型类指南。

Laravel 集成支持所有 Eloquent 工厂功能。