If you use propel prior to 1.6 , you must follow
You must know the primary key for each relationship. If it's id , it could be something like this:
$c = new Criteria(); $c->add(TwoPeer::TEXT, 'aaa'); $c->add(ThreePeer::TEXT, 'bbb'); $c->addJoin(OnePeer::TWO_ID, TwoPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(TwoPeer::THREE_ID, ThreePeer::ID, Criteria::LEFT_JOIN); $c->addJoin(ThreePeer::FOUR_ID, FourPeer::ID, Criteria::LEFT_JOIN); $results = OnePeer::doSelect($c);
For Propel 1.6 (use it https://github.com/propelorm/sfPropelORMPlugin ), something like this:
$results = OneQuery::create() ->useTwoQuery() ->filterByText('aaa') ->useThreeQuery() ->filterByText('bbb') ->endUse() ->endUse() ->leftJoinWith('Three.Four') ->find();
source share