[12.x] Allow fillAndInsert()
usage with HasMany relationships by automatically setting the foreign key
#55288
+210
−8
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 pull request is a follow-up to #55038 introduced in v12.6.0 by @cosmastech. While
fillAndInsert()
was successfully added to allow merging attributes before insertion, it can cause errors when used on a HasMany relationship if the related table enforces a NOT NULL constraint on the foreign key.For instance, the following snippet will fail on certain table definitions:
With the current implementation (without this PR), the
user_id
column is not automatically populated, resulting in a constraint violation. This PR ensures thatfillAndInsert()
can correctly handle the foreign key column for HasMany relationships, preventing such errors.(Above snippet and error details are included within the tests to demonstrate the exact failure under real conditions.)