Tengo un error de clave primaria de la base de datos y se me presenta la página de error del framework en lugar de un mensaje en la aplicación indicando de que error se trata.
Como puedo transformar esa excepcion del tipo “CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘5-1’ for key 2” En un mensaje de error a presentar en el formulario de alta relleno con los datos intruducidos.
Segun he visto las consultas que realiza el framework nunca valida datos a menos que utilizes una regla en el modelo la cual digas que el campo es de tipo unique…
Hasta donde tengo entendido no puedes utilizar con Yii 2 claves primarias en una sola tabla… entonces supongo que la tabla de la cual hablas es una tabla intermedia… por lo que supongo que puedes hacer 3 cosas…
1.- Verificar mediante una consulta si los registros que insertaras ya existen y sino existen insertarlos
2.- Eliminar todos los registros y volverlos a insertar mediante barrido e insercion
3.- si es una tabla intermedia, quitar el atributo de llave primaria a los campos lo que permitira insertar duplicados