Atu*_*vid 19 cakephp cakephp-2.0 cakephp-2.1
我试图在AppController上运行一个没有与之关联的Model的表.我不想使用模型,因为这个查询会在每个请求上触发,我猜使用模型会使它慢一点.
我在一个论坛中发现,这可以通过CakePHP 1.3中的以下代码实现
$db = ConnectionManager::getInstance();
$conn = $db->getDataSource('default');
$conn->rawQuery($some_sql);
Run Code Online (Sandbox Code Playgroud)
但这在CakePHP 2.1.3中不起作用.任何帮助,将不胜感激.谢谢 :)
dho*_*tet 34
该getDataSource()方法在CakePHP 2.x中是静态的,因此您应该能够使用:
$db = ConnectionManager::getDataSource('default');
$db->rawQuery($some_sql);
Run Code Online (Sandbox Code Playgroud)
你应该这样跑
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);
}
Run Code Online (Sandbox Code Playgroud)