[TYPO3-mvc] Left join query
Daniel Dimitrov
danielsd_bg at yahoo.fr
Thu May 27 11:32:55 CEST 2010
Come on guys, I think that this really deserve at least a small explanation
or a nice tutorial :)
"Daniel Dimitrov" <danielsd_bg at yahoo.fr> wrote in message
news:mailman.1.1274346762.31732.typo3-project-typo3v4mvc at lists.typo3.org...
> Hey guys,
> I know that there are several posts about that, but I really cannot
> understand them.
>
> I was looking at datamapper->getPreparedQuery, but I cannot figure out how
> to use this in my example.
>
> I have a productobject, that can have multiples keywords.
> Product object is stored in - tx_bwshop_domain_model_products
> I have an mm relation table tx_bwshop_keywords_mm
> And the keywords table tx_bwshop_domain_model_keywords
>
> When I'm showing a list with all products, then extbase make some magic
> tricks and I can see all the keywords for a product :)
>
> The thing is that I have a search mask where I can search for a keyword
> and I have to show all products for this keyword and its children.
>
> Here is how the query normally looks:
>
> $sql = ' SELECT '.
> 'tx_bwshop_domain_model_products.* '.
> ' FROM tx_bwshop_domain_model_products'.
> ' LEFT JOIN tx_bwshop_keywords_mm ON tx_bwshop_keywords_mm.uid_local =
> tx_bwshop_domain_model_products.uid' .
> ' WHERE '.
> ' tx_bwshop_keywords_mm.uid_foreign IN ('.implode(',',
> array_keys($kws)).') ';
>
> $kws here is an array that contains all the children of a parent keyword
> like this:
> Parent keyword
> -- child keyword
> -- child keyword
> --- child child keyword
>
> The only way I found to get my sql executed was:
> $query->statement($sql)->execute();
>
> I would really like to know how to make this left join the extbase way :)
> Any help is appreciated!
>
>
More information about the TYPO3-project-typo3v4mvc
mailing list