Pregunta

¿Cuál es el método para guardar y actualizar muchos a muchos en el marco Yu?

Otros consejos

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.

El uso MANY_MANY tipo de relación en 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 relacionales de Active Records

Marco Yu - La guía definitiva para Yii: Trabajar con bases de datos relacionales-Active Record

La siguiente extensión hace lo que quiere ... Yii Marco - Extensión: cadvancedbehavior

Una cosa importante a tener en cuenta: En cada actualización, la extensión borra todos los registros anteriores y crea otros nuevos. Así que no lo uso cuando la mesa intermediatry contiene datos adicionales que no sean las claves externas.

se podría poner esto en marcha en level..by MySQL va a vista relacional en cada mesa en phpmyadmin y proporcionar necesaria MANY_MANY uso condition..and relacional en la clase del modelo dentro de las relaciones ..

La pregunta es demasiado común.

Por lo general, los componentes de datos con muchas relaciones a muchos parecen secuencialmente y de forma independiente. Por lo que sólo tiene que hacer una acción de inserción tras otro.

Si su relación necesita actualización depende del que debiera usuario SQL desencadena en el nivel de base de datos. Eso va a garantizar la integridad de los datos y dar una muy buena separación de la lógica de negocio de la aplicación.

CREATE TRIGGER some_trigger
    AFTER UPDATE ON some_table
    ...
END IF;

A 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top