update framework findbyid espaƱol delete php has-and-belongs-to-many yii many-to-many

php - findbyid - Yii framework Muchas a muchas relaciones



yii update (6)

¿Cuál es el método para guardar y actualizar la relación Muchos a Muchos en el marco Yii?


A menos que cree un modelo para la tabla entre las dos tablas principales, su única opción es usar DAO (Objeto de acceso a la base de datos) y especificar SQL con él.

Eche un vistazo a cómo la demo de blog logra esta tarea.



puede configurarlo en el nivel de mysql ... yendo a la vista relacional debajo de cada tabla en phpmyadmin y proporcionar la condición relacional necesaria ... y usar MANY_MANY en la clase de modelo dentro de las relaciones ...


La pregunta es muy común.

Por lo general, los componentes de datos con MUCHAS a MUCHAS relaciones aparecen de forma secuencial e independiente. Entonces solo necesita hacer una acción de inserción después de otra.

Si su relación necesita una actualización dependiente, debe utilizar activadores de SQL en el nivel de la 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 forma similar es encapsular los datos relacionales en un modelo lógico en el nivel de PHP (y, por ejemplo, manipular con 2-3 modelos de RA allí) y emular la lógica de los triggers SQL.


La siguiente extensión hace lo que quiere ... Yii Framework - Extension: cadvancedbehavior

Una cosa importante a tener en cuenta: en cada actualización, la extensión borra todos los registros anteriores y crea nuevos. Por lo tanto, no lo usaría cuando la tabla intermedia contenga datos adicionales que no sean las claves externas.