Inverse side of a ManyToMany realation is not automatically updated when adding an object to the owning side
I implemented a bidirectional ManyToMany relationship between two tables following the documentation.
I then wanted to unit-test the situation when I added an entry to the owning side relation. But then my query from the inverse side always ignored the new element.
I then realized that the correct values are only returned when I cleared the ObjectManager and freshly read all objects from the database. Once I saw this, I tried to manually update also the inverse side when adding the new object (as proposed when updating the inverse side) and then everything worked.
I now am looking for the location in the documentation where this is discussed to make shure that I do everything the correct way, but I can not find it. Maybe someone out here has a hint?
doctrine-orm
add a comment |
I implemented a bidirectional ManyToMany relationship between two tables following the documentation.
I then wanted to unit-test the situation when I added an entry to the owning side relation. But then my query from the inverse side always ignored the new element.
I then realized that the correct values are only returned when I cleared the ObjectManager and freshly read all objects from the database. Once I saw this, I tried to manually update also the inverse side when adding the new object (as proposed when updating the inverse side) and then everything worked.
I now am looking for the location in the documentation where this is discussed to make shure that I do everything the correct way, but I can not find it. Maybe someone out here has a hint?
doctrine-orm
add a comment |
I implemented a bidirectional ManyToMany relationship between two tables following the documentation.
I then wanted to unit-test the situation when I added an entry to the owning side relation. But then my query from the inverse side always ignored the new element.
I then realized that the correct values are only returned when I cleared the ObjectManager and freshly read all objects from the database. Once I saw this, I tried to manually update also the inverse side when adding the new object (as proposed when updating the inverse side) and then everything worked.
I now am looking for the location in the documentation where this is discussed to make shure that I do everything the correct way, but I can not find it. Maybe someone out here has a hint?
doctrine-orm
I implemented a bidirectional ManyToMany relationship between two tables following the documentation.
I then wanted to unit-test the situation when I added an entry to the owning side relation. But then my query from the inverse side always ignored the new element.
I then realized that the correct values are only returned when I cleared the ObjectManager and freshly read all objects from the database. Once I saw this, I tried to manually update also the inverse side when adding the new object (as proposed when updating the inverse side) and then everything worked.
I now am looking for the location in the documentation where this is discussed to make shure that I do everything the correct way, but I can not find it. Maybe someone out here has a hint?
doctrine-orm
doctrine-orm
asked Nov 20 '18 at 11:23


Sqrt-1764Sqrt-1764
808
808
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391962%2finverse-side-of-a-manytomany-realation-is-not-automatically-updated-when-adding%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391962%2finverse-side-of-a-manytomany-realation-is-not-automatically-updated-when-adding%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown