Pasa que al pedir a findBy por una condicion, se hace una consulta por la
condicion para obtener el id, y luego por el id para obtener el objeto, pero la
primer consulta ya cargó todos los datos necesarios para crear la instancias
de la clase en memoria y la segunda consulta no parece necesaria, por ejemplo:
Consulta:
$tableName = YuppConventions::tableName( 'PageZone' );
$condition = Condition::_AND()
->add( Condition::EQ($tableName, 'page_id', $pageId) )
->add( Condition::EQ($tableName, 'name', $name) );
$list = PageZone::findBy( $condition, new ArrayObject() );
Log: (ver las 2 consultas SQL)
[DAL::listAll cms_page_zone]
[DatabaseMySQL::query : SELECT * FROM cms_page_zone WHERE
(cms_page_zone.class='PageZone' AND cms_page_zone.deleted=0 AND
(cms_page_zone.page_id=1 AND cms_page_zone.name='content')) ORDER BY id asc
LIMIT 50 OFFSET 0]
[ArtifactHolder.existsModel PageZone 3]
[ArtifactHolder.getModel PageZone 3]
[PersistentManager.get_object PageZone 3]
[DatabaseMySQL::query : SELECT * FROM cms_page_zone WHERE id=3]
[PersistentManager.createObjectFromData PageZone]
[ArtifactHolder.addModel PageZone]
Original issue reported on code.google.com by pablo.swp@gmail.com on 10 May 2011 at 12:53
Original issue reported on code.google.com by
pablo.swp@gmail.com
on 10 May 2011 at 12:53