Cuando el nombre de la tabla en la base de datos difiere del nombre en el modelo de objetos, necesitamos obtener el “phpName”. Una forma de hacer esto, útil cuando solamente tenemos un nombre de tabla y un ID, es:
$tabla = Propel::getDatabaseMap()->getTable($miNombreDeTabla); $phpName = $tabla->getPhpName() ? $tabla->getPhpName() : sfInflector::camelize($tabla->getName()); return call_user_func(array($phpName.'Peer', 'retrieveByPK'), $miID);
Por si a alguien le sirve.
One Comment on “Symfony: Instanciar un objeto a partir del nombre de tabla”
You can track this conversation through its atom feed.
Parece ser que esto no es válido pues Propel::getDatabaseMap() sólo tiene las tablas que de alguna forma se han referenciado en la programación de la acción, es decir, que en la mayoría de los casos no tendremos la mayoría de las tablas de la base de datos.
Posted on September 4, 2008 at 12:34 pm.