laravel-mongodb icon indicating copy to clipboard operation
laravel-mongodb copied to clipboard

Eager loading MorphTo relationships with withTrashed() doesn't include soft-deleted models

Open StevePorter92 opened this issue 2 months ago • 0 comments

  • 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

  1. See the test here https://github.com/StevePorter92/laravel-mongodb/pull/1
  2. 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

StevePorter92 avatar Oct 03 '25 11:10 StevePorter92