ppazos / yupp

Automatically exported from code.google.com/p/yupp
0 stars 0 forks source link

Error cuando se hace PO::get de un id que no existe #132

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Cuando se hace get de un objeto con un id que no existe tira una excepcion. En 
realidad deberia devolver NULL.

DAL.get: no se encuentra el objeto con id 56 en la tabla cms_user
#0 
C:\wamp\www\YuppPHPFramework\core\persistent\core.persistent.PersistentManager.c
lass.php(686): DAL->get('cms_user', '56')
#1 
C:\wamp\www\YuppPHPFramework\core\persistent\core.persistent.LazyLoadStrategy.cl
ass.php(49): PersistentManager->get_object('User', '56')
#2 
C:\wamp\www\YuppPHPFramework\core\persistent\core.persistent.PersistentManager.c
lass.php(990): LazyLoadStrategy->get('User', '56')
#3 
C:\wamp\www\YuppPHPFramework\core\persistent\core.persistent.PersistentObject.cl
ass.php(1164): PersistentManager->get('User', '56')
#4 
C:\wamp\www\YuppPHPFramework\apps\cms2\model\auth\cms2.model.auth.User.class.php
(215): PersistentObject::get('56')
#5 
C:\wamp\www\YuppPHPFramework\apps\cms2\controllers\apps.cms2.controllers.UserCon
troller.class.php(412): User::get('56')
#6 C:\wamp\www\YuppPHPFramework\core\mvc\core.mvc.YuppController.class.php(76): 
UserController->publicProfileAction(Array)
#7 [internal function]: YuppController->__call('publicProfile', Array)
#8 
C:\wamp\www\YuppPHPFramework\core\routing\core.routing.Executer.class.php(175): 
UserController->publicProfile()
#9 
C:\wamp\www\YuppPHPFramework\core\web\core.web.RequestManager.class.php(194): 
Executer->execute(Object(AppControllerFilters))
#10 C:\wamp\www\YuppPHPFramework\index.php(67): RequestManager::doRequest()
#11 {main}
#673 // 1: Cargar la instancia que me piden. 
#674 
#675 //$dal = DAL::getInstance(); 
#676 $obj = new $persistentClass(array(), true); // Intancia para hallar nombre 
de tabla (solo para eso, no se usa luego). 
#677 $tableName = YuppConventions::tableName( $obj ); 
#678 
#679 // HERENCIA EN MULTIPLE TABLA 
#680 // Cargo el registro de la clase que me mandan por su id, esto es para 
verificar si la clase que me mandan 
#681 // es realmente la clase de la instancia que me piden. Si $persistentClass 
no esta mapeada en la misma 
#682 // tabla que el atributo "class" del registro, cargo el registro 
#683 // de la clase que diga la columna "class", ya que ese registro es el que 
tiene todos los ids inyectados por 
#684 // MTI y es la que me deja cargar todos los registros de instancias 
parciales para luego unirlos y generar 
#685 // una unica instanca, que es la que me piden. 
#686 $attrValues = $this->dal->get( $tableName, $id ); 

Original issue reported on code.google.com by pablo.swp@gmail.com on 25 Mar 2012 at 7:19

GoogleCodeExporter commented 8 years ago
Se corrige DAL.get y PersistentManager.get_object

Original comment by pablo.swp@gmail.com on 25 Mar 2012 at 7:44

GoogleCodeExporter commented 8 years ago
Verificar sino hay que hacer lo mismo para otras operaciones de DAL que usen 
id, como delete, update, etc.

Original comment by pablo.swp@gmail.com on 26 Mar 2012 at 3:58