I have some problems when using left join. Here 2 tables: Table A: id: integer autoIncrement primaryKey b_id : FOREIGN KEY, linked to id table B field. VERY IMPORTANT: b_id CAN BE NULL name: string Table B: id: integer autoIncrement primaryKey name: string With this command: $result = APeer::doSelectJoinB(new Criteria()); I only get the objects from A where b_id field IS NOT NULL With those commands : $c = new Criteria(); $c->AddJoin(APeer::B_ID, BPeer::ID, Criteria::LEFT_JOIN); $result = APeer::doSelect($c); I got all objects from A, this is fine. But objects from B are not "hydrated". With a Table A object from this result, when I execute "$a->getB()", a new request is launched to read the corresponding B object in the database. And I don't want this because i have tons of "$a->getB()" to execute. Isn't exists an action who could be like "doSelectLEFTJoinB(...)", that get all objects from both tables, and who hydrate them, whith a left join ?