我正在创建一个行为,该行为将由控制器中的特定Model执行的sql查询记录到表中。正在寻找一种方法来返回我为特定finder方法执行的sql查询(比如$ this-> MyModel-> find('all'))我在面包店找到了我可以使用$ this-> MyModel- > find('sql'),但对我不起作用。有人知道我怎么能做到这一点?
提前致谢
答案 0 :(得分:1)
您可以将此功能放在app_model.php中:
function getLastQueries()
{
$dbo = $this->getDatasource();
$logs = $dbo->_queriesLog;
return $logs;
}
从任何模型($ this-> getLastQueries())或控制器($ this-> Model-> getLastQueries())调用它来获取它们。
答案 1 :(得分:0)
$ this-> Cake本身不支持Model-> find('sql')。您必须按照Bakery文章中的其余说明来安装新的DBO驱动程序,并在AppModel中添加对find('sql')方法的支持。一旦你这样做,它应该能够得到你想要的东西。