Eager loading MorphTo relationships with withTrashed() doesn't include soft-deleted models
Author: StevePorter92Created Oct 3, 2025Updated Jul 29, 2026
Labelstracked-in-jira
- Laravel-mongodb Version: 5.x
- PHP Version: 8.x
- Database Driver & Version: 1.2/2.0
Description:
Eager loading morphTo() relationships with withTrashed() does not include soft-deleted models. The MorphTo::getResultsByType() method in the MongoDB implementation doesn't replay macros (including withTrashed()), causing soft-deleted related models to be excluded from eager-loaded results.
Steps to reproduce
- See the test here https://github.com/StevePorter92/laravel-mongodb/pull/1
- Run the tets
Expected behaviour
The eager-loaded morphToSoftWithTrashed relationship should return the soft-deleted Soft model instance, matching Laravel's standard Eloquent behavior.
Actual behaviour
The eager-loaded relationship returns null instead of the soft-deleted model.
Potentially a duplicate of https://github.com/mongodb/laravel-mongodb/issues/1361, but the fix does not work
Source: mongodb/laravel-mongodb