I tried the solution in this answer, but it did not work. It resulted in the following SQL:
SELECT user.id AS `Id`, user.name AS `Name`,
AS `ReferralUser.Id`, AS `ReferralUser.Name`
FROM `ReferralUser` INNER JOIN `account` ON (ReferralUser.id=account.id)
Note that ReferralUser is not a table in my database, it was meant to be the alias.
I need to join a table to itself at least two times, but possibly more in the future. My current code:
$q = \UserQuery::create();
$q->select(array('Id', 'Name',
'ReferralUserRelation.Id', 'ReferralUserRelation.Name',
'CreatorUserRelation.Id', 'CreatorUserRelation.Name'));
$q->join('ReferralUserRelation');
$q->join('CreatorUserRelation');
$q->find();
Which results in the following SQL:
SELECT user.id AS `Id`, user.name AS `Name`, user.id AS `ReferralUserRelation.Id`,
user.name AS `ReferralUserRelation.Name`, `user.id` AS `CreatorUserRelation.Id`,
`user.name` AS `CreatorUserRelation.Name` FROM `user`
INNER JOIN `user` ON (user.id=user.referral_user_id)
INNER JOIN `user` ON (user.id=user.creator_user_id)
Is this even possible in Propel?