@Parsival/Nima: Menno didn't say it was not good to use a constructor, but 
pointed to the explanation why that constructor was not called. It is still 
good to have it, for if you make a new Modules (or whatever you will 
eventually call this entity) yourself, you want to add a ModulesConfig to 
that Moduels-entity. I still think you mean it the other way around, but 
please explain in English what you want to model, what the meaning is of 
your modules and modulesConfig etc. 

On Friday, 7 February 2014 22:41:04 UTC+1, Parsifal wrote:
>
> Menno, 
>
> Actually I was reading here that says a OneToMany must have a 
> constructor to instantiate ArrayCollection(); 
>
> http://docs.doctrine-project.org/en/latest/reference/association-mapping.html 
> What else I have to do? I don't understand what I missed? 
>
>
>
> On Sat, Feb 8, 2014 at 1:03 AM, Herman Peeren 
> <[email protected]<javascript:>> 
> wrote: 
> > Yes, that is the explanation of why that constructor is not invoked. 
> Thank 
> > you, Menno!  Stupid that I hadn't thought of that... But still I have my 
> > doubts about the modelling of the Entities here. 
> > 
> > On Friday, 7 February 2014 22:25:11 UTC+1, Holtkamp wrote: 
> >> 
> >> Ok, sorry, I can't withstand: 
> >> http://lmgtfy.com/?q=doctrine+entity+constructor 
> >> 
> >> and: 
> >> 
> http://docs.doctrine-project.org/en/latest/reference/architecture.html#entities,
>  
>
> >> states: 
> >> 
> >> The constructor of an entity is only ever invoked when you construct a 
> new 
> >> instance with the new keyword. Doctrine never calls entity 
> constructors, 
> >> thus you are free to use them as you wish and even have it require 
> arguments 
> >> of any type. 
> >> 
> >> Please, a lot of people (myself included), spend quite some time to 
> read 
> >> the documentation (written by volunteers, respect it). Yes, it is a lot 
> and 
> >> it might take some hours / days, but is seems you are persistent enough 
> to 
> >> not quit before you got what you want ;). So before posting a question 
> >> again, count to 100 out loud! 
> >> 
> >> Cheers! 
> >> 
> >> 
> >> On 7 February 2014 22:19, Menno Holtkamp <[email protected]> wrote: 
> >>> 
> >>> This might have something to do with the Entity proxy intercepting the 
> >>> initialization (in combination with lazy loading?). I believe Marco 
> Piveta 
> >>> AKA Ocramius wrote a lot about the subject. Google for it and/or dive 
> in the 
> >>> source code. 
> >>> 
> >>> But, you can also trust on the force to always be with you, right? 
> >>> 
> >>> Cheers 
> >>> 
> >>> On Feb 7, 2014 9:35 PM, "Nima Sadjadi" <[email protected]> wrote: 
> >>>> 
> >>>> Herman, 
> >>>> Here is the info you asked me this morning, correcting uppercase 
> >>>> things etc. it returns expected data the only odd thing is that 
> >>>> print("blah") in constructor is not working so the this is not called 
> >>>> but still works! any idea? 
> >>>> 
> >>>> <?php 
> >>>> // Modules.php 
> >>>> namespace Entities; 
> >>>> use Doctrine\ORM\Mapping\ClassMetadata; 
> >>>> use Doctrine\ORM\Mapping\ClassMetadataInfo; 
> >>>> use Doctrine\Common\Collections\ArrayCollection; 
> >>>> class Modules { 
> >>>> private $module; 
> >>>> private $status; 
> >>>> private $modulesConfig; 
> >>>>     public function __construct() { 
> >>>>         $this->modulesConfig = new ArrayCollection(); 
> >>>>         print("a"); 
> >>>>         var_dump($this->modulesConfig); 
> >>>>     } 
> >>>>     public static function loadMetadata(ClassMetadata $metadata) { 
> >>>>     // here goes $metadata->mapField array I did generate with CLI 
> >>>>     // coloumns in this table: module, status 
> >>>>     // join coloumns with that other table: module=>module 
> >>>>     $metadata->mapOneToMany(array( 'fieldName' => 'modulesConfig', 
> >>>>                               'targetEntity' => 
> >>>> 'Entities\\ModulesConfig', 
> >>>>                               'mappedBy' => 'modules', 
> >>>>                                'joinColumns' => array( 0 => array( 
> >>>> 'name' => 'module', 
> >>>> 
> >>>> 'referencedColumnName' => 'module', 
> >>>> 
> >>>> 'nullable' => true, 
> >>>> 
> >>>> 'columnDefinition' => NULL, 
> >>>>                                                       ), ) 
> >>>> 
> >>>>                              )); 
> >>>> } 
> >>>> } 
> >>>> == 
> >>>> <?php 
> >>>> // ModulesConfig.php 
> >>>> namespace Entities; 
> >>>> use Doctrine\ORM\Mapping\ClassMetadata; 
> >>>> use Doctrine\ORM\Mapping\ClassMetadataInfo; 
> >>>> class ModulesConfig { 
> >>>> private $id; 
> >>>> private $module; 
> >>>> private $variable; 
> >>>> private $value; 
> >>>> private $modules; 
> >>>>     public static function loadMetadata(ClassMetadata $metadata) { 
> >>>>     // here goes $metadata->mapField array I did generate with CLI 
> >>>>     // coloumn in this table: id, module, variable, value 
> >>>>     // join coloumns with that other table: module=>module 
> >>>> 
> >>>>     $metadata->mapManyToOne(array( 'fieldName' => 'modules', 
> >>>>                               'targetEntity' => 'Entities\\Modules', 
> >>>>                               'inversedBy' => 'modulesConfig', 
> >>>>                                'joinColumns' => array( 0 => array( 
> >>>> 'name' => 'module', 
> >>>> 
> >>>> 'referencedColumnName' => 'module', 
> >>>> 
> >>>> 'nullable' => true, 
> >>>> 
> >>>> 'columnDefinition' => NULL, 
> >>>>                                                       ), ) 
> >>>> 
> >>>>                              )); 
> >>>> } 
> >>>> } 
> >>>> 
> >>>> 
> >>>> 
> >>>> 
> >>>> On Fri, Feb 7, 2014 at 1:38 PM, Herman Peeren <[email protected]> 
> >>>> wrote: 
> >>>> > No idea what you are doing wrong without the code of the 2 entities 
> >>>> > plus the 
> >>>> > calling code, query etc. 
> >>>> > 
> >>>> > On Friday, 7 February 2014 10:34:08 UTC+1, Parsifal wrote: 
> >>>> >> 
> >>>> >> In two cases below you described, the first case is the one I 
> >>>> >> actually 
> >>>> >> want to. And actually it is working fine with expected result. The 
> >>>> >> only odd 
> >>>> >> thing is that print("blah") in constructor doesn't print so I 
> assume 
> >>>> >> the 
> >>>> >> constructor is not working however I am still getting correct 
> result! 
> >>>> >> Second 
> >>>> >> odd thing is that only getArrayResult returns something for this 
> but 
> >>>> >> I get 
> >>>> >> error for getResult. Let's look at second problem later but first 
> >>>> >> let's 
> >>>> >> check why constructor is not working however I am still getting 
> >>>> >> correct 
> >>>> >> result?! Any idea? 
> >>>> >> 
> >>>> >> 1) In a Module-entity you can have multiple ModuleConfig-entities 
> and 
> >>>> >> every ModuleConfig-entity only has 1 Module. In this case you'll 
> have 
> >>>> >> a 
> >>>> >> $moduleConfigs collection in a Module on which a 
> >>>> >> OneToMany-relationship is 
> >>>> >> defined. In a ModuleConfig you then have a $module defined with a 
> >>>> >> ManyToOne 
> >>>> >> relation. 
> >>>> >> 2) Or: in a Module-entity you can only have 1 ModuleConfig-entity, 
> >>>> >> but a 
> >>>> >> ModuleConfig-entity can be associated with multiple 
> Module-entities. 
> >>>> >> In 
> >>>> >> that case you'll have a $moduleConfig propery in a Module on which 
> a 
> >>>> >> ManyToOne-relationship is defined. In a ModuleConfig you then have 
> a 
> >>>> >> $modules collection defined with a OneToMany relation. 
> >>>> > 
> >>>> > -- 
> >>>> > You received this message because you are subscribed to the Google 
> >>>> > Groups 
> >>>> > "doctrine-user" group. 
> >>>> > To unsubscribe from this group and stop receiving emails from it, 
> send 
> >>>> > an 
> >>>> > email to [email protected]. 
> >>>> > To post to this group, send email to [email protected]. 
> >>>> 
> >>>> > Visit this group at http://groups.google.com/group/doctrine-user. 
> >>>> > For more options, visit https://groups.google.com/groups/opt_out. 
> >>>> 
> >>>> -- 
> >>>> You received this message because you are subscribed to the Google 
> >>>> Groups "doctrine-user" group. 
> >>>> To unsubscribe from this group and stop receiving emails from it, 
> send 
> >>>> an email to [email protected]. 
> >>>> To post to this group, send email to [email protected]. 
> >>>> 
> >>>> Visit this group at http://groups.google.com/group/doctrine-user. 
> >>>> For more options, visit https://groups.google.com/groups/opt_out. 
> >> 
> >> 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "doctrine-user" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to 
> > [email protected]<javascript:>. 
>
> > Visit this group at http://groups.google.com/group/doctrine-user. 
> > For more options, visit https://groups.google.com/groups/opt_out. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to