¿Cuál es el método para guardar y actualizar muchos a muchos en el marco Yu?Yii marco de relaciones muchos a muchos
Respuesta
Hay una mejor aplicación como el comportamiento.
A menos que se crea un modelo para la mesa entre las dos tablas principales, su única opción es utilizar DAO (Database Access Object) y especificar LSQ con él.
Tener un vistazo a la forma de demostración del blog a cabo esta tarea.
utilización tipo MANY_MANY
relación a la configuración de muchos a muchos relación entre modelos (Se necesita una tabla asociativa para romper una relación de muchos a muchos en relaciones de uno a muchos) Y ahora se puede utilizar todas las funciones de relación de activo registros
Yii Framework - The Definitive Guide to Yii: Working with Databases-Relational Active Record
que podría poner esto en marcha en level..by MySQL va a vista relacional en cada mesa en phpmyadmin y proporcionar necesario el uso condition..and relacional MANY_MANY en las relaciones dentro de las clases del modelo ..
la siguiente extensión hace lo que quiere ... Yii Framework - Extension: cadvancedbehavior
Una cosa importante a destacar: en cada actualización, la extensión borra todos los registros anteriores y crea otros nuevos. Por lo tanto, no lo usaría cuando la tabla intermedia contenga datos adicionales que no sean las claves externas.
La pregunta es demasiado común.
Por lo general, los componentes de datos con muchas relaciones a muchos parecen secuencialmente y de forma independiente. Entonces solo necesita hacer una acción de inserción después de otra.
Si su relación necesita actualización depende del que debiera usuario SQL triggers en el nivel de base de datos. Eso garantizará la integridad de los datos y proporcionará una separación bastante buena en la lógica comercial de la aplicación.
CREATE TRIGGER some_trigger
AFTER UPDATE ON some_table
...
END IF;
Una manera similar es incapsulate datos relacionales en un modelo lógico en el nivel PHP (y, por ejemplo, manipular con 2-3 modelos AR allí) y emular SQL desencadena lógica en ella.
- 1. Ejemplos de relaciones de muchos a muchos
- 2. relaciones muchos a muchos en JSON
- 3. Atributos en relaciones Muchos a Muchos (Hibernar)
- 4. Relaciones Muchos a Muchos en MySQL
- 5. Relaciones muchos a muchos con ServiceStack.OrmLite
- 6. Relaciones genéricas de muchos a
- 7. Alternativas a las relaciones de muchos a muchos con CQRS
- 8. django-tastypie y muchos a muchos "a través de" relaciones
- 9. Relaciones de muchos a muchos de LINQ: ¿Solución?
- 10. cómo tener relaciones de muchos a muchos en redis
- 11. Insertar entidad de marco Muchos a muchos crea datos duplicados
- 12. Relaciones uno a muchos en (PostgreSQL) SQL
- 13. Cómo contar relaciones uno a muchos
- 14. Marco de Entidad Marco de muchos a muchos, clúster frente a índice no agrupado
- 15. muchos-a-muchos y muchos-a-muchos intersecciones
- 16. Linq a Sql - Muchos a muchos - CRUD
- 17. Relaciones de muchos a muchos en Entity Framework donde join table tiene más de dos campos?
- 18. Diferencia entre uno-a-muchos, muchos-a-uno y muchos-a-muchos?
- 19. Relación Muchos a Muchos
- 20. cómo representar simétrica de muchos a muchos
- 21. Relación de muchos a muchos
- 22. django 1.4 Muchos a muchos agregar bulk
- 23. ¿Cómo crear relaciones "a dos lados" de muchos a muchos en Rails?
- 24. Tabla de asignación de muchos a muchos
- 25. Django: accediendo a muchos a muchos objetos a través de otra relación Muchos a Muchos
- 26. Spring + JPA relación muchos a muchos
- 27. ¿Cómo diseñar relaciones de muchos a muchos en una base de datos de objetos?
- 28. muchos a muchos seleccione consulta
- 29. cómo consultar muchos a muchos?
- 30. relación muchos-a-muchos SQLite?
Los disparadores son horribles por mantenimiento. En primer lugar, podría considerar usar fks de base de datos y en cascada ... los desencadenadores podrían ser realmente la última opción. – armandomiani
Debes estar bromeando, ¿verdad? ¡Las cascadas FK son de hecho desencadenantes! Pero no puede usarlos "en la inserción". Además, el motor MyIsam de MySql no admite FK, p. En lo que respecta al mantenimiento, no sé cuál es el problema para mantener un procedimiento DB, especialmente si es trivial (y es similar a un FK en cascada) –