ThinkPHP中的getLastSql函数---获取上次执行的SQL语句

本文关注ThinkPHP框架中Model层如何使用getLastSql函数获取上次执行的SQL语句,该功能常用于日志记录和错误分析。讨论了model层的一般情况,并指出getLastSql函数返回的是上次执行的SQL,但其具体工作方式可能需要结合debug_backtrace进行理解。
摘要由CSDN通过智能技术生成

Thinkphp是我们经常用使用的一个php的MVC框架。通常我们把业务分类,分层,在不同的层处理不同的业务逻辑。

本文要讲的是model层,关于获取上次执行的SQL语句的问题。(用于日志记录,或者分析出错原因等)。


1:model层的一般情况

通常,我们是通过集成系统Model类的方式来实现的。比如:class UserModel extends Model;(此文不多考虑命名空间的问题,即忽略3.1和3.2的差别)

更有甚至,有一个model的基类。class BaseModel extends Model,然后:class UserModel extends BaseModel,

当然,也有些初学者,或者业务逻辑简单的情况,直接在C层,M一个系统model类,然后处理业务逻辑。

本文不讨论没有M层的情况。


2:getLastSql函数

看过Thinkphp中Model类的人,都能发现这个函数,甚至还有,getLastInsID,getDbError,getError,getPk,getDbFields等函数。这些函数都是我们经常可能会用到的model层的函数。这里只说getLastSql函数。

此函数返回上次执行的SQL语句。

但是这句话不是太好理解的。

如果,我们使用,debug_backtrace,生成一条回溯跟踪线。经常会发现:

[Sweep] => SHOW COLUMNS FROM &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值