2010-06-24 3 views
1

Si j'ai un événement/une fonction qui nécessite de changer beaucoup de variables différentes dans mon enregistrement actif, dois-je y accéder directement et les changer tous à la fois de ma bibliothèque ou la bibliothèque fait-elle plusieurs appels de modèle?Codeigniter: plusieurs appels Active Record vs regroupement et rupture de modèles

Les données que je veux modifier sont réparties sur une poignée de tables mysql différentes mais certaines sont dans la même table. Je suis préoccupé par le fait que faire les appels de modèles multiples va nuire à la performance, mais faire l'alternative va probablement casser la modularité et empêcher la réutilisabilité.

Répondre

0

Pour moi, chaque modèle représente une table de toute façon. (Je pense que la plupart des gens le font de cette façon) Si les données doivent être changées dans plusieurs tables, je dois faire des appels à plusieurs modèles.

Je pense qu'il est préférable d'utiliser les modèles comme ils sont destinés (plutôt que pas du tout). Quand j'ai utilisé le codeigniter pour la première fois, je ne les utilisais pas parce que je pensais que l'enregistrement actif (ou au moins l'implémentation de codeigniter) rendait si facile le travail avec la base de données. Une fois que j'ai réalisé comment les modèles peuvent être utilisés, je n'ai jamais regardé en arrière.

Je pourrais aussi ajouter que cela dépend vraiment de la taille de l'application. Peut-être qu'il n'y a pas beaucoup de tables et que vous avez besoin des meilleures performances; il peut être très bien de le faire avec des appels à l'enregistrement actif de votre contrôleur. En fin de compte, je pense que la réutilisation et la maintenabilité sont les plus importantes.

Vous pouvez également utiliser vos modèles pour construire les requêtes et ne pas les exécuter, puis les exécuter complètement (est-ce là où vous pensez que vous perdriez les performances?)

Questions connexes