Docs Menu

Laravel Feature Compatibility

This guide describes the Laravel features that are supported by Laravel MongoDB. This page discusses Laravel version 12.x feature availability in the Laravel Integration.

The following sections contain tables that describe whether individual features are available in the Laravel Integration.

Eloquent Feature
Availability

Configuration

Read/Write Connections

Use read preference instead.

Multiple Database Connections

Listening for Query Events

Monitoring Cumulative Query Time

Transactions

Command Line Interface (CLI)

Use the MongoDB Shell (mongosh).

Database Inspection

Unsupported

Database Monitoring

Unsupported

Multi-database Support / Multiple Schemas

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.

The following Eloquent methods are not supported in the Laravel Integration:

  • toSql()

  • toRawSql()

  • whereColumn()

  • orWhereColumn()

  • whereFulltext()

  • groupByRaw()

  • orderByRaw()

  • inRandomOrder()

  • union()

  • unionAll()

  • havingRaw()

  • having()

  • havingBetween()

  • orHavingRaw()

  • whereIntegerInRaw()

  • orWhereIntegerInRaw()

  • whereIntegerNotInRaw()

  • orWhereIntegerNotInRaw()

Eloquent Feature
Availability

Running Queries

Chunking Results

Aggregates

Select Statements

Raw Expressions

Unsupported

Joins

Unsupported

Unions

Unsupported

Logical Grouping

Unsupported

Ordering

Random Ordering

Unsupported

Grouping

Partially supported. Use Aggregations.

Limit and Offset

Conditional Clauses

Insert Statements

Auto-Incrementing IDs

Unsupported as MongoDB uses ObjectIDs

Upserts

Update Statements

Updating JSON Columns

Unsupported

Increment and Decrement Values

Debugging

The Laravel Integration supports all Laravel pagination features.

The Laravel Integration supports all Laravel migration features, but the implementation is specific to MongoDB's schemaless model.

The Laravel Integration supports all Laravel seeding features.

Eloquent Feature
Availability

Models

UUID and ULID Keys

Timestamps

Retrieving Models

Advanced Subqueries

Unsupported

Retrieving or Creating Models

Retrieving Aggregates

Partially supported

Inserting and Updating Models

Upserts

Deleting Models

Soft Deleting

Pruning Models

Tip

To learn more, see the Eloquent Model Class guide.

Eloquent Feature
Availability

Defining Relationships

Many-to-Many Relationships

Polymorphic Relationships

Dynamic Relationships

Querying Relations

Aggregating Related Models

Unsupported

Inserting and Updating Related Models

Tip

To learn more, see the Eloquent Model Relationships guide.

The Laravel Integration supports all Eloquent collection features.

Eloquent Feature
Availability

Casts

Array and JSON Casting

✓ You can store objects and arrays in MongoDB without serializing to JSON.

Date Casting

Enum Casting

Encrypted Casting

Custom Casts

Tip

To learn more, see the Eloquent Model Class guide.

The Laravel Integration supports all Eloquent factory features.