The FROM clause indicates the component or components from which to retrieve records.
If you name more than one component, you are performing a join.
For each table specified, you can optionally specify an alias. Doctrine_Query offers easy to use
methods such as from(), addFrom(), leftJoin() and innerJoin() for managing the FROM part of your DQL query.
// find all users
\$q = new Doctrine_Query();
\$coll = \$q->from('User')->execute();
// find all users with only their names (and primary keys) fetched
\$coll = \$q->select('u.name')->('User u');
?>
The following example shows how to use leftJoin and innerJoin methods:
// find all groups
$coll = $q->from("FROM Group");
// find all users and user emails
$coll = $q->from("FROM User u LEFT JOIN u.Email e");
// find all users and user emails with only user name and
// age + email address loaded
$coll = $q->select('u.name, u.age, e.address')
->from('FROM User u')
->leftJoin('u.Email e')
->execute();
// find all users, user email and user phonenumbers
$coll = $q->from('FROM User u')
->innerJoin('u.Email e')
->innerJoin('u.Phonenumber p')
->execute();