没有不值得去解决的问题,也没有不值得去学习的技术!

在 CakePHP 2.10.3 中,在控制器中打印已经执行过的 SQL 语句流程

总计10条记录

1、编辑 \app\Config\core.php,Configure::write(‘debug’, 2);,如图1

编辑 \app\Config\core.php,Configure::write('debug', 2);
图1

2、编辑 \app\View\Layouts\base.ctp,<?php echo $this->element(‘sql_dump’); ?>,如图2

编辑 \app\View\Layouts\base.ctp,<?php echo $this->element('sql_dump'); ?>
图2

3、在 get 请求后,在视图中打印出已经执行过的 SQL 语句,如图3

在 get 请求后,在视图中打印出已经执行过的 SQL 语句
图3

4、如果为 post 请求,最终执行成功后,会直接跳转,就需要在控制器中打印已经执行过的 SQL 语句,如图4

如果为 post 请求,最终执行成功后,会直接跳转,就需要在控制器中打印已经执行过的 SQL 语句
图4

5、在执行成功后,跳转之前,打印 Product 模型已经执行过的 SQL 语句,如图5
$log = $this->Product->getDataSource()->getLog(false, false);
debug($log);
exit;

在执行成功后,跳转之前,打印 Product 模型已经执行过的 SQL 语句
图5

6、总计10条记录,如图6

总计10条记录
图6

7、在执行成功后,跳转之前,打印已经执行过的所有 SQL 语句,如图7
$db =& ConnectionManager::getDataSource(‘tmp’);
$db->showLog();
exit;

在执行成功后,跳转之前,打印已经执行过的所有 SQL 语句
图7

8、总计10条记录,如图8

总计10条记录
图8

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系