如何从ORM获取发送到服务器的原始SQL字符串?如何拦截它以进行自定义工作?
我想将查询转发给自定义驱动程序。我的目标是通过NodeJS的MS SQL Server - 来自Linux环境。
但我不想重新发明轮子。我想重用现有的SqlServer查询构建器。
答案 0 :(得分:2)
只要你的查询没有被toArray()或类似的东西执行,你可以使用$ q-> sql()来检索cakePHP将执行的原始sql查询:
$q = $this->Model->find('all');
$this->log($q->sql()); // log raw sql query
答案 1 :(得分:1)
$query = $this->find();
debug($query);
$query
是一个查询对象,您可以从中获取原始SQL表达式。