[9.x] Allow factories to recycle models with for
method
#44265
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses #44107 (comment) where using the Factory
for
method instead of specifying a'model_id' => Model::factory()
definition does not use recycled models. I think this makes sense, although typically you'd callfor
from your test where you could just pass the model directly, so I think it's more of an edge case.I considered adding support for the
has
method as well, however, I don't think that one makes as much sense. If the recycled model belongs to another model, then I don't think it's parent relationship should be re-assigned, especially if it's part of a has many relationship where more than one model might be needed. I could make it attach the model in a many-to-many relationship, but it would probably need to be conditional on whether one or many models were requested. In any case, I can't think of a scenario where this would be a papercut so I'm not inclined to look into it further right now.