Prasad
Prasad

Reputation: 1820

How to retrieve a Doctrine record with all relational records?

I was wondering if there is a way to get a record with all relational data, something like a 'Deep-Fetch'

So if a model Child were related to another model Parent, can we fetch Child & then access Child->Parent->name thru a single query?

Doctrine today fires a query whenever a relationship is accessed. Is this too costly? does it need to be optimizeD?

thanks

Upvotes: 0

Views: 582

Answers (1)

Jakub Zalas
Jakub Zalas

Reputation: 36191

Doctrine automatically hydrates related objects when you select fields from that relations:

Doctrine_Query::create()
  ->select('a.*, c.*)
  ->from('Article a')
  ->innerJoin('Category c');

In this example both Article and Category objects are being hydrated (no additional queries are made).

Upvotes: 2

Related Questions