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.
- Il est bizarre de faire appel à une action du controller Posts pour
trouver un topic actif.
- 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/');
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---