Oh by the way, with left joins Propel still creates an object : $object->getXXX() stills returns an XXX object, which is just all empty (apparently the result of new XXX with nothing else, but i can't get where it's done) So you cannot just check if $object->getXXX() is null, you must check $object->getXXXId() (or $object->getXXX()->getId()). This is the only workaround I found using automatic LEFT or INNER joins.
On 29 mar, 09:57, naholyr <[EMAIL PROTECTED]> wrote: > I patched my SfPeerBuilder.php file so that the way the doSelectJoin* > methods use LEFT_JOIN or INNER_JOIN instead of always implicit inner > join : > - If column is foreign and required : replace "->addJoin(column, ...)" > with "->addJoin(column, ..., Criteria::INNER_JOIN)" > - If column is foreign and not required : replace "->addJoin(column, ...)" > with "->addJoin(column, ..., > > Criteria::LEFT_JOIN)" > > This way we can use "doSelectJoinAll" in admin generators without the > risk of having rows not displayed only because the query is not what > it should be : if the foreign key is not required, we can have NULL, > and then the implicit inner join will just ignore those rows, which is > very annoying. > Anyway using a (implicit) INNER JOIN on not required foreign keys is a > real mistake in my opinion (and I don't get why Propel does generate > that). > > I see no issue in my project, but i didn't ran all the unit tests yet. > > Did I miss something ? I suppose there are already existing threads > about this, but I didn't find them ? Is there a reason that Propel > always does implicit inner joins instead of explicit joins, left or > inner, depending on the "required" param ? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en -~----------~----~----~----~------~----~------~--~---
