Если вы используете propel до 1.6 , вы должны следовать
Вы должны знать первичный ключ для каждого отношения.
Если это id
, это может быть что-то вроде этого:
$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);
Для Propel 1.6 (используйте его из https://github.com/propelorm/sfPropelORMPlugin), что-то вроде этого:
$results = OneQuery::create()
->useTwoQuery()
->filterByText('aaa')
->useThreeQuery()
->filterByText('bbb')
->endUse()
->endUse()
->leftJoinWith('Three.Four')
->find();