You have one Product for every X. So you have to add that Product to the X. 
You would probably call that property of X $product. When you want to know 
which Product that X has, you do $specificX->getProduct(). If you also want 
to know what Info you have for that X you do a 
$specificX->getProduct()->getInfo(). If you immediately want to gt the Info 
for that X, you define a getInfo() method in X which retrieves 
$this->getProduct()->getInfo(). No need to define the association of Info 
directly to X. But if you realy want to define that relation, then it is 
possible too of course: just define a $info property in X. No problem that 
is uses the same foreign key. But redundant, as said.

Probably easier to not talk about X, but give it a proper name. That makes 
reasoning about your model easier. And maybe I just got the 
ManyToOne/OneToMany the other way around, but the principle stays the same: 
when you have an association with a Product, you can find the Info of that 
Product too. Whether or not to eager or lazy load depends on how you need  
the information; that is for later, when optimising the database-access. 
First build a model and forget about the database. That is my advice. 

I'm out, go to a conference and be back next week (which is very busy too). 
So I won't react the coming week or so. Nothing personal.

On Thursday, 20 March 2014 21:35:32 UTC+1, Parsifal wrote:
>
> Please read my previous reply first. By eager load do you mean I should 
> run DQL instead of find()? If yes, then how can I have the result as object 
> since doctrine require to have Product entity as object that I can add a 
> new record to X, as I cannot simply use:
> $this->productId = $blah;
> Should I use that object hydrator?
> So if I understood you correcly to solve this error I should use DQL 
> joining Product-Info entities with that particular hydrator that returns 
> the result as object? Is it the only way to solve the error however I don't 
> need Info while adding a new row to db, the problem is that the same entity 
> is used as ManyToOne to other two entities.
>  

-- 
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/d/optout.

Reply via email to