plantillas - CakePHP 2.1.x-Ejecuta una consulta sin ningún modelo en AppController
cakephp tutorial (3)
El método getDataSource()
es estático en CakePHP 2.x, por lo que debería poder usar:
$db = ConnectionManager::getDataSource(''default'');
$db->rawQuery($some_sql);
Estoy intentando ejecutar una consulta en AppController en una tabla que no tiene un Modelo asociado. No quiero usar un modelo porque esta consulta se activaría en cada solicitud y supongo que usar un modelo lo haría un poco más lento.
Descubrí en un foro que esto se puede lograr con el siguiente código en CakePHP 1.3
$db = ConnectionManager::getInstance();
$conn = $db->getDataSource(''default'');
$conn->rawQuery($some_sql);
Pero esto no está funcionando en CakePHP 2.1.3. Cualquier ayuda sería apreciada. Gracias :)
deberías correr de esta manera
App::uses(''ConnectionManager'', ''Model'');
$db = ConnectionManager::getDataSource(''default'');
if (!$db->isConnected()) {
$this->Session->setFlash(__(''Could not connect to database.''), ''default'', array(''class'' => ''error''));
} else {
$db->rawQuery($some_sql);
}
rawQuery no devolverá datos, use $ db-> consulta en su lugar.
$db = ConnectionManager::getDataSource(''default'');
$data = $db->query($some_sql);