Bonjour,

Comment feriez vous pour réaliser ce comportement (une FAQ) de manière optimisé (en limitant le nombre de requête SQL) ?

  • Afficher les catégories et en dessous de chaque catégorie, les questions associé à cette catégorie

  • En dessous de chaque question, sa réponse associé

1 réponse


Je pense que le comportement containable correspond à ce que tu cherches tout en étant optimisé niveau requêtes.

L'idée, c'est que ta FAQ appelle des catégories.

Model categories :
hasMany questions

Model questions :
belongsTo categories

Avec une bonne gestion de la récursivité, quand tu feras un appel sur tes categories, pour chaque catégorie Cake te renverra les questions correspondantes.

Ainsi, pour chaque catégorie, Cake fera une requête pour récupérer les informations sur la catégorie, et une seconde pour récupérer les questions qui lui correspondent.

Généralement une FAQ n'évolue pas beaucoup. A toi de jouer avec la mise en cache pour limiter encore plus le nombre de requêtes.