> SELECT t.id AS t__id, t.date AS t__date, t2.id AS t2__id, t2.name AS t2__name, p.id AS p__id
FROM tournament t
INNER JOIN tournament_site t2 ON t.site_id = t2.id
INNER JOIN player p ON t2.id = p.site_id;
+-------+---------------------+--------+--------------+-------+
| t__id | t__date | t2__id | t2__name | p__id |
+-------+---------------------+--------+--------------+-------+
| 1 | 2007-12-29 19:00:00 | 2 | Full Tilt | 1 |
| 2 | 2008-01-01 19:00:00 | 2 | Full Tilt | 1 |
| 3 | 2007-12-01 18:30:00 | 2 | Full Tilt | 1 |
| 1 | 2007-12-29 19:00:00 | 2 | Full Tilt | 4 |
| 2 | 2008-01-01 19:00:00 | 2 | Full Tilt | 4 |
| 3 | 2007-12-01 18:30:00 | 2 | Full Tilt | 4 |
| 4 | 2007-12-29 19:00:00 | 3 | PokerStars | 2 |
| 5 | 2008-01-01 19:00:00 | 3 | PokerStars | 2 |
| 6 | 2007-12-01 18:30:00 | 3 | PokerStars | 2 |
| 4 | 2007-12-29 19:00:00 | 3 | PokerStars | 5 |
| 5 | 2008-01-01 19:00:00 | 3 | PokerStars | 5 |
| 6 | 2007-12-01 18:30:00 | 3 | PokerStars | 5 |
| 7 | 2007-12-29 19:00:00 | 4 | Ultimate Bet | 3 |
| 8 | 2008-01-01 19:00:00 | 4 | Ultimate Bet | 3 |
| 9 | 2007-12-01 18:30:00 | 4 | Ultimate Bet | 3 |
| 7 | 2007-12-29 19:00:00 | 4 | Ultimate Bet | 6 |
| 8 | 2008-01-01 19:00:00 | 4 | Ultimate Bet | 6 |
| 9 | 2007-12-01 18:30:00 | 4 | Ultimate Bet | 6 |
+-------+---------------------+--------+--------------+-------+
18 rows in set (0.00 sec)
65 $tournaments = Doctrine_Query::create()
66 ->select('t.date, s.name, p.id')
67 ->from('Tournament t')
68 ->innerjoin('t.Site s')
69 ->innerjoin('s.Players p')
70 ->setHydrationMode(Doctrine::HYDRATE_ARRAY)
71 ->execute();
72 $this->tournaments = $tournaments;
result of
3
4
is:
Player ID: 4
Player ID:
Player ID:
Player ID: 5
Player ID:
Player ID:
Player ID: 6
Player ID:
Player ID:
HOWEVER....
using object hydration...
output is:
Player ID: 1
Player ID: 1
Player ID: 1
Player ID: 2
Player ID: 2
Player ID: 2
Player ID: 3
Player ID: 3
Player ID: 3
and the following extra queries are run:
SELECT p.id AS p__id, p.screenname AS p__screenname, p.site_id AS p__site_id, p.user_id AS p__user_id, p.staking_balance AS p__staking_balance FROM player p WHERE p.site_id IN (?) - (2 )
SELECT p.id AS p__id, p.screenname AS p__screenname, p.site_id AS p__site_id, p.user_id AS p__user_id, p.staking_balance AS p__staking_balance FROM player p WHERE p.site_id IN (?) - (3 )
SELECT p.id AS p__id, p.screenname AS p__screenname, p.site_id AS p__site_id, p.user_id AS p__user_id, p.staking_balance AS p__staking_balance FROM player p WHERE p.site_id IN (?) - (4 )
array(9) {
[0]=>
array(3) {
["id"]=>
string(1) "1"
["date"]=>
string(19) "2007-12-29 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
string(9) "Full Tilt"
["Players"]=>
array(1) {
[0]=>
array(1) {
["id"]=>
string(1) "4"
}
}
}
}
[1]=>
array(3) {
["id"]=>
string(1) "2"
["date"]=>
string(19) "2008-01-01 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
string(9) "Full Tilt"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
[2]=>
array(3) {
["id"]=>
string(1) "3"
["date"]=>
string(19) "2007-12-01 18:30:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
string(9) "Full Tilt"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
[3]=>
array(3) {
["id"]=>
string(1) "4"
["date"]=>
string(19) "2007-12-29 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "3"
["name"]=>
string(10) "PokerStars"
["Players"]=>
array(1) {
[0]=>
array(1) {
["id"]=>
string(1) "5"
}
}
}
}
[4]=>
array(3) {
["id"]=>
string(1) "5"
["date"]=>
string(19) "2008-01-01 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "3"
["name"]=>
string(10) "PokerStars"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
[5]=>
array(3) {
["id"]=>
string(1) "6"
["date"]=>
string(19) "2007-12-01 18:30:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "3"
["name"]=>
string(10) "PokerStars"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
[6]=>
array(3) {
["id"]=>
string(1) "7"
["date"]=>
string(19) "2007-12-29 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "4"
["name"]=>
string(12) "Ultimate Bet"
["Players"]=>
array(1) {
[0]=>
array(1) {
["id"]=>
string(1) "6"
}
}
}
}
[7]=>
array(3) {
["id"]=>
string(1) "8"
["date"]=>
string(19) "2008-01-01 19:00:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "4"
["name"]=>
string(12) "Ultimate Bet"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
[8]=>
array(3) {
["id"]=>
string(1) "9"
["date"]=>
string(19) "2007-12-01 18:30:00"
["Site"]=>
array(3) {
["id"]=>
string(1) "4"
["name"]=>
string(12) "Ultimate Bet"
["Players"]=>
array(1) {
[0]=>
NULL
}
}
}
}