On 2 déc, 00:12, pluriels <[EMAIL PROTECTED]> wrote:
> euh que tentes-tu de faire avec la requête que tu nous as transmise ?
> j'essaie de deviner, mais ce serait plus simple si tu expliquais.
> Pour ce que j'ai pu comprendre, tu veux afficher les 10 derniers
> topics actifs parmi tes forums publics.
oui c'est tout à fait exact !
>
> - Il est bizarre de faire appel à une action du controller Posts pour
> trouver un topic actif.
ah oui suis je sot ;)
en reprennant le tuto baker.cakephp.org j'ai omis d'adapter ;)
> - je ne crois pas(mais je n'ai pas encore creusé la 1.2...) que tu
> puisses faire une requête aussi complexe juste avec les relations.
> C'est peut-être possible en jouant sur la définition des relations,
> mais ça me paraît délicat.
>
> Ma solution, si j'avais à le faire :
> Comme tu connais déjà ta requête, je te conseille de partir
> directement sur ton controller Topic pour créer une action :
> Attention aux Alias de table si on veut pouvoir utiliser les notations
> CakePHP
>
> function lastTopics(){
> $sql =
> "SELECT Topic.id, Topic.subject FROM topics AS Topic INNER JOIN forums
> AS Forum ON
> Forum.id = Topic.forum_id LEFT JOIN forum_perms AS ForumPerm ON
> (ForumPerm.forum_id=Forum.id AND
> ForumPerm.group_id='xxx') WHERE (ForumPerm.read_forum IS NULL OR
> ForumPerm.read_forum=1)
> AND Topic.moved_to IS NULL ORDER BY Topic.last_post DESC LIMIT 10 ";
> $resultset = $this->Topic->query($sql);
> return $resultset;
>
> }
>
> ensuite dans ton élément,
> $pt_active_topics = $this->requestAction('topics/lastTopics/');
ca me parait bien comme solution aussi.
mais dans l'absolue les INNER JOIN on en trouve pas qui soit générés
via les HATB c'est ca ?
en tout cas merci pour la correction.
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---