Je construis une application de revue de livre.Pouvez-vous inclure deux modèles dans une requête dans CakePHP?
Dans le modèle Review, j'ai book_id et plusieurs champs comme author_rating et/ou scary_rating. Dans le modèle Book, j'ai une fonction search() que je voudrais utiliser pour rechercher des livres avec certaines caractéristiques, comme un author_rating de plus de 5, par exemple.
Quelle est la meilleure façon d'y parvenir? Je sais que ceux-ci sont probablement faux, mais je pourrais ajouter les attributs (author_rating, scary_rating, etc) dans le modèle de livre et les mettre à jour (en moyenne) chaque fois qu'une revue est soumise; ou, je pourrais exécuter une tâche cron qui met à jour ces champs de temps en temps.
Mais y a-t-il un meilleur moyen de demander aux modèles Book et Review de trouver des livres et de répondre à certains critères définis en consultant la base de données Reviews?
Est-ce que cela a du sens?
Oui, j'ai fini par arriver à la même conclusion avec les champs de moyenne dans le modèle Book. Je cherchais simplement comment faire cela en utilisant l'ORM de CakePHP, mais il semble inutilement complexe, alors je pense que je vais suivre votre conseil et le mettre dans une requête. Le problème est que ce ne sont pas des moyennes simples ...ils doivent prendre en compte le nombre d'évaluations précédentes pour ne pas atteindre la moyenne de "50%", donc j'ai configuré counterCache et utilisé cela pour remplir un champ review_count dans le modèle Book que je vais utiliser pour calculer. – Justin
Cela semble être une bonne approche ... bonne chance! – bjudson