Quelle est la méthode pour enregistrer et mettre à jour la relation Many to Many dans le framework Yii?Yii framework Plusieurs à plusieurs relations
Répondre
Il y a une meilleure mise en œuvre comme un comportement.
À moins que vous ne créiez un modèle pour la table entre les deux tables principales, votre seule option consiste à utiliser DAO (Database Access Object) et à spécifier des SQL avec celui-ci. Jetez un oeil à la façon dont la démonstration de blog accomplit cette tâche.
utilisez MANY_MANY
type de relation pour configurer de nombreuses connexions entre modèles (Une table associative est nécessaire pour rompre une relation plusieurs-à-plusieurs en relations un-à-plusieurs) Et maintenant vous pouvez utiliser toutes les fonctions relationnelles d'Active dossiers
Yii Framework - The Definitive Guide to Yii: Working with Databases-Relational Active Record
vous pouvez définir que dans MySQL level..by va à la vue relationnelle sous chaque table dans phpMyAdmin et assurer une utilisation de condition..and relationnelle nécessaire MANY_MANY dans la classe modèle relations à l'intérieur ..
l'extension suivante fait ce que vous voulez ... Yii Framework - Extension: cadvancedbehavior
Une chose importante à noter: sur chaque mise à jour, l'extension efface tous les enregistrements précédents et crée de nouveaux. Donc, je ne l'utiliserais pas lorsque la table intermediatry contient des données supplémentaires autres que les clés étrangères.
La question est trop commune.
Généralement, les composants de données ayant des relations MANY to BEY apparaissent séquentiellement et indépendamment. Il suffit donc de faire une action d'insertion après l'autre.
Si votre relation nécessite une mise à jour dépendante, vous devez user SQL triggers au niveau de la base de données. Cela garantira l'intégrité des données et donnera une assez bonne séparation dans la logique métier de l'application.
CREATE TRIGGER some_trigger
AFTER UPDATE ON some_table
...
END IF;
d'une manière similaire à-incapsulate données relationnelles en un seul modèle logique au niveau de PHP (et par exemple manipuler avec 2-3 modèles AR-bas) et à imiter SQL déclenche logique en elle.
- 1. MVC + Entités Framework: plusieurs à plusieurs relations
- 2. ADO.NET DataRelations et relations plusieurs-à-plusieurs
- 3. Comment utiliser Entity Framework pour travailler avec des relations plusieurs-à-plusieurs?
- 4. Entity Framework: effectuer une requête sur une table de liaison/plusieurs à plusieurs relations
- 5. Définition de relations plusieurs-à-plusieurs dans DDD
- 6. MVC débutant question - édition de plusieurs-à-plusieurs relations
- 7. Plusieurs à plusieurs relations dans MS Dynamics CRM 4.0 - Comment?
- 8. Afficher des relations plusieurs-à-plusieurs (ListViews imbriqués?)
- 9. Téléchargement stratégique pour les relations plusieurs-à-plusieurs dans Datamapper?
- 10. Modélisation d'objets avec plusieurs relations de tables dans Zend Framework
- 11. Ruby On Rails Relations - Un à plusieurs
- 12. Entity Framework: plusieurs à plusieurs nombre et somme
- 13. recherche de plusieurs-à-plusieurs
- 14. Relation plusieurs-à-plusieurs avec une clé de substitution dans Entity Framework
- 15. ADO.NET Entity Framework - LINQ à plusieurs dbms
- 16. Entity Framework Beaucoup-à-plusieurs + nombre
- 17. Comment configurer 1: plusieurs relations dans MySQL
- 18. Absence d'associations plusieurs-à-plusieurs après recompilation dans ADO.NET Entity Framework
- 19. cakephp un à plusieurs jointures de relations personnalisées
- 20. Comment filtrer un à plusieurs relations avec fluent-NHibernate?
- 21. Comment implémenter des relations un-à-plusieurs dans Ibatis?
- 22. Comment utiliser les relations «un à plusieurs» dans SubSonic
- 23. SubSonic 3 - Référentiel simple - Une à plusieurs relations
- 24. Utilisation des "champs supplémentaires" de django relations plusieurs-à-plusieurs avec des champs supplémentaires
- 25. Hibernate mise en œuvre de simples relations plusieurs-à-plusieurs - Dictionnaire ou liste?
- 26. Est-ce que Subsonic 3 ActiveRecord gère plusieurs à plusieurs relations?
- 27. Données de base Règles de suppression et relations plusieurs-à-plusieurs
- 28. Besoin d'aide pour les relations plusieurs-à-plusieurs dans les données de base pour iPhone
- 29. Rejoindre et rechercher plusieurs tables MySQL avec des relations un-à-plusieurs
- 30. champs supplémentaires dans les tables de relations plusieurs-à-plusieurs de NHibernate
Les déclencheurs sont horribles pour la maintenance. D'abord, vous pourriez envisager d'utiliser les bases de données FK et les cascades ... les déclencheurs pourraient être la dernière option. – armandomiani
Vous devez être en train de plaisanter, n'est-ce pas? Les cascades de FK sont en effet déclencheurs! Mais vous ne pouvez pas les utiliser "sur insert". De plus, le moteur MyIsam de MySql ne prend pas en charge les FKs, par ex. En ce qui concerne la maintenance, je ne sais pas quel est le problème pour maintenir une procédure DB, surtout si c'est un trivial (et est semblable à une cascade FK) –