ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] #### getLastSql()方法获取数据模型层的sql脚本 模型调试 在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的SQL语句,我们可以用getLastsql方法来输出上次执行的sql语句。例如: ~~~ $User = M("User"); // 实例化User对象 $User->find(1); echo $User->getLastSql(); ~~~ 输出结果是 `SELECT * FROM think_user WHERE id = 1` 新版(thinkphp3.1)每个模型都使用独立的最后SQL记录,互不干扰,但是可以用空模型的getLastSql方法获取全局的最后SQL记录。 ~~~ $User = M("User"); // 实例化User模型 $Info = M("Info"); // 实例化Info模型 $User->find(1); $Info->find(2); echo M()->getLastSql(); echo $User->getLastSql(); echo $Info->getLastSql(); ~~~ 输出结果是 ~~~ SELECT * FROM think_info WHERE id = 2 SELECT * FROM think_user WHERE id = 1 SELECT * FROM think_info WHERE id = 2 ~~~ getLastSql方法只能获取最后执行的sql记录,如果需要了解更多的SQL日志,可以通过查看当前的页面Trace或者日志文件。 #### fetchsql()方法获取数据模型层的查询脚本 ~~~ M('user')->fetchsql(true)->where('user_id = %d', $v['user_id'])->find() ~~~