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
-~----------~----~----~----~------~----~------~--~---

Reply via email to