How to embed MongoDB documents in Symfony 3.4
I´m new in Symfony 3.4 and I am try to embed a document into another document, like this:
{
name:"alex",
age: 18,
schoolGrades:{
elementary: "yes",
highScholl: "yes",
college: "no"
}
}
I´m using Doctrine ODM to work this, but I don´t know how I can do this.
mongodb symfony doctrine-odm
add a comment |
I´m new in Symfony 3.4 and I am try to embed a document into another document, like this:
{
name:"alex",
age: 18,
schoolGrades:{
elementary: "yes",
highScholl: "yes",
college: "no"
}
}
I´m using Doctrine ODM to work this, but I don´t know how I can do this.
mongodb symfony doctrine-odm
add a comment |
I´m new in Symfony 3.4 and I am try to embed a document into another document, like this:
{
name:"alex",
age: 18,
schoolGrades:{
elementary: "yes",
highScholl: "yes",
college: "no"
}
}
I´m using Doctrine ODM to work this, but I don´t know how I can do this.
mongodb symfony doctrine-odm
I´m new in Symfony 3.4 and I am try to embed a document into another document, like this:
{
name:"alex",
age: 18,
schoolGrades:{
elementary: "yes",
highScholl: "yes",
college: "no"
}
}
I´m using Doctrine ODM to work this, but I don´t know how I can do this.
mongodb symfony doctrine-odm
mongodb symfony doctrine-odm
edited Nov 21 '18 at 22:13
Robert_Rmz
asked Nov 21 '18 at 20:19
Robert_RmzRobert_Rmz
86
86
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
There's a concept of Embedded documents that does exactly that:
/** @Document */
class Student
{
/** @EmbedOne(targetDocument="SchoolGrades") */
private $schoolGrades;
}
/** @EmbeddedDocument */
class SchoolGrades
{
}
https://www.doctrine-project.org/projects/doctrine-mongodb-odm/en/1.2/reference/embedded-mapping.html
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (StudentType
andSchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in theStudentType
)
– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
add a comment |
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%2f53419903%2fhow-to-embed-mongodb-documents-in-symfony-3-4%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There's a concept of Embedded documents that does exactly that:
/** @Document */
class Student
{
/** @EmbedOne(targetDocument="SchoolGrades") */
private $schoolGrades;
}
/** @EmbeddedDocument */
class SchoolGrades
{
}
https://www.doctrine-project.org/projects/doctrine-mongodb-odm/en/1.2/reference/embedded-mapping.html
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (StudentType
andSchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in theStudentType
)
– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
add a comment |
There's a concept of Embedded documents that does exactly that:
/** @Document */
class Student
{
/** @EmbedOne(targetDocument="SchoolGrades") */
private $schoolGrades;
}
/** @EmbeddedDocument */
class SchoolGrades
{
}
https://www.doctrine-project.org/projects/doctrine-mongodb-odm/en/1.2/reference/embedded-mapping.html
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (StudentType
andSchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in theStudentType
)
– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
add a comment |
There's a concept of Embedded documents that does exactly that:
/** @Document */
class Student
{
/** @EmbedOne(targetDocument="SchoolGrades") */
private $schoolGrades;
}
/** @EmbeddedDocument */
class SchoolGrades
{
}
https://www.doctrine-project.org/projects/doctrine-mongodb-odm/en/1.2/reference/embedded-mapping.html
There's a concept of Embedded documents that does exactly that:
/** @Document */
class Student
{
/** @EmbedOne(targetDocument="SchoolGrades") */
private $schoolGrades;
}
/** @EmbeddedDocument */
class SchoolGrades
{
}
https://www.doctrine-project.org/projects/doctrine-mongodb-odm/en/1.2/reference/embedded-mapping.html
answered Nov 22 '18 at 8:04
Небојша КамберНебојша Камбер
517510
517510
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (StudentType
andSchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in theStudentType
)
– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
add a comment |
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (StudentType
andSchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in theStudentType
)
– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Thanks for your answer @Небојша Камбер. I understand that to save the data of the document these should be mapped and then generate their setters and getters, the other question is if the embedded document will be filled from a form, I must map this document from the class where I declare it or I must put their setters an getters there?
– Robert_Rmz
Nov 23 '18 at 15:11
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (
StudentType
and SchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in the StudentType
)– Небојша Камбер
Nov 27 '18 at 11:01
Embedded forms correspond to embedded documents. I usually make form type classes for each document class (
StudentType
and SchoolGradesType
) and then add the child type in the parent type (->add('schoolGrades', SchoolGradesType::class)
in the StudentType
)– Небојша Камбер
Nov 27 '18 at 11:01
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
Thanks again @Небојша Камбер, I was reviewing the embedded forms, but I didn´t understand what they were used for, you would have a more complete example of embedded classes and how you could implement them in an embedded form that you could show me?
– Robert_Rmz
Dec 6 '18 at 19:04
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
It's very simple, for example gist.github.com/nebkam/6c7488685e0bcb10e38960cfff27e23a According to documentation symfony.com/doc/3.4/forms.html
– Небојша Камбер
Dec 7 '18 at 10:38
add a comment |
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%2f53419903%2fhow-to-embed-mongodb-documents-in-symfony-3-4%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