Si tienes una restricción de FK es responsabilidad tuya eliminar los registros que referencian al registro que intentas eliminar antes de poder eliminarlo. Por otro lado puedes poner 'dependent' => true en la asociación que quieres que sea eliminada en forma recursiva.
La verdad es que si hubieras leído el manual con más atención no estarías preguntando esto. http://manual.cakephp.org/chapter/models On 24 oct, 23:54, PRF! <[EMAIL PROTECTED]> wrote: > Hola muchachos.. > > he estado lidiando un resto con el modelo, ya me trague el cuento de > las convenciones y las referencias hasMany, hasOne, etc.. > > despues de todo eso me queda una gran duda: > > ¿que pasa con los foreign_key creados para las tablas en la base de > datos?, ¿son necesarios de todas formas?, ¿importa su nombre? > > Estoy trabajando en una pequeña aplicacion que me ayude a comprender > mas el mundo de este framework y a pesar de que creo que el modelo y > los controladores estan bien a pesar de su simpleza me gustaria saber > que debo esperar de cake cuando intento eliminar un registro de una > tabla con llave foranea (sin utilizar scaffold). > > En mi ejemplo tengo una funcion delete en cierto controlador, que no > es mas que esto > > function delete($id) > { > if ($this->Category->del($id)) > { > $this->flash('El registo con id: '.$id.' fue > eliminado.', > '/categories'); > } > } > > entonces cuando voy eliminar efectivamente no puedo porque hay un FK > involucrado pero es mySQL quien devuelve el error, no cake, como me lo > esperaba. > > "Warning: SQL Error: 1451: Cannot delete or update a parent row: a > foreign key constraint fails (`cuco/categories`, CONSTRAINT > `FK_GROUP_ID` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`)) in / > Users/PRF/Web/cuco/cake/libs/model/datasources/dbo_source.php on line > 437" > > para que cake valide las FK antes de hacer la query en mySQL ¿que debo > hacer?, ¿existe alguna funcion predefinida?, ¿es parte del controlador > (supongo)? > > muchas gracias por la atencion!! --~--~---------~--~----~------------~-------~--~----~ Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a CakePHP-es@googlegroups.com Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups.google.com/group/CakePHP-es?hl=es. -~----------~----~----~----~------~----~------~--~---