Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2011, 09:07
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Busqueda obtener proximo ID en base de datos con Propel

Estoy usando Propel para un proyecto. Y la verdad es que me genera muchas dudas.

Queriendo obtener el proximo id de una tabla, encontré y adapté esta función:

Código PHP:
Ver original
  1. public static function getNextId($tableName, &$con = null ){
  2.             if(empty($con))
  3.                 $con = Propel::getConnection(UsersPeer::DATABASE_NAME);
  4.            
  5.             $sql = "show table status like '$tableName'";  
  6.             $stmt = $con->prepare($sql);
  7.             $stmt->execute();            
  8.             $row = $stmt->fetch();
  9.            
  10.             return $row['Auto_increment'];
  11.     }

Mi duda es acerca de la conexión ($con). Por qué hay que generar una conexión para hacer querys sql en Propel? Y al margen de esto, da igual usar cualquier PEER al hacer la conexión? Porque como ven en la función que publiqué estoy conectando mediante el UsersPeer en caso de no tener una conexión previa establecida. Eso esta ok? O el Peer debería coincidir con la tabla que estoy por consultar?