Foros del Web » Programando para Internet » PHP » Zend »

Problema con insert de Zend_Db_Table no retorna el PK!

Estas en el tema de Problema con insert de Zend_Db_Table no retorna el PK! en el foro de Zend en Foros del Web. Hola todos, tengo la siguiente tabla en la base de datos: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CREATE TABLE IF NOT EXISTS `users` (   ...
  #1 (permalink)  
Antiguo 18/07/2010, 15:58
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Problema con insert de Zend_Db_Table no retorna el PK!

Hola todos, tengo la siguiente tabla en la base de datos:

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `users` (
  2.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `user_types_id` INT(11) NOT NULL,
  4.   `email` VARCHAR(45) NOT NULL,
  5.   `nickname` VARCHAR(255) NOT NULL,
  6.   `password` VARCHAR(65) NOT NULL,
  7.   `names` VARCHAR(255) NOT NULL,
  8.   `active` tinyint(1) NOT NULL DEFAULT '0',
  9.   `key` VARCHAR(67) DEFAULT NULL,
  10.   `last_login` datetime DEFAULT NULL,
  11.   `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  12.   `created_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  13.   PRIMARY KEY (`id`,`user_types_id`),
  14.   UNIQUE KEY `email_UNIQUE` (`email`),
  15.   UNIQUE KEY `nickname_UNIQUE` (`nickname`),
  16.   KEY `fk_users_user_types1` (`user_types_id`)
  17. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

y en el modelo:
Código PHP:
Ver original
  1. class Models_Model_User extends Zend_Db_Table_Abstract
  2. {
  3.    
  4.     protected $_name = 'users';
  5.    
  6.     protected $_primary = 'id';
  7. // ...........

Ahora ..... cuando hago esto en el controlador:
Código PHP:
Ver original
  1. $user_id = $user_table->insert($user_data);
  2. var_dump($user_id);

el var_dump me imprime: string(0) "" .

Pero el registro queda ingresado en la base de datos correctamente.

Cualquier ayuda se agradecería ......
  #2 (permalink)  
Antiguo 18/07/2010, 22:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con insert de Zend_Db_Table no retorna el PK!

Definiste el valor de protected $_sequence??? Por otro lado si tienes dos primary keys necesitas entonces que tus primary sean así:
Código PHP:
Ver original
  1. protected $_primary = array('id', 'user_types_id');

Saludos.
  #3 (permalink)  
Antiguo 22/07/2010, 20:12
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con insert de Zend_Db_Table no retorna el PK!

GatorV, de nuevo muchas gracias, eres un genio!
Código PHP:
Ver original
  1. protected $_primary = array('id', 'user_types_id');
Efectivamente era eso.
Supuse que aunque "user_types_id" era una PK, no era necesario referenciarla, ya que solo la estaba usando como llave foránea :( ahora veo que era un grave error del que no me habia dado cuenta que lo estaba cometiendo (ya que ese codigo SQL lo genera MySQL workbench y no me habia tomado la tarea de revisarle bien, solo lo ejecutaba), gracias por acermelo notar.

Saludos !

Etiquetas: insert, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:53.