laravel-mongodb
laravel-mongodb copied to clipboard
Eager loading MorphTo relationships with withTrashed() doesn't include soft-deleted models
- 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