ThinkPHP中的fetchSql方法的使用

发布时间 - 2020-03-28 00:00:00    点击率:

本篇文章介绍了thinkphp中fetchsql方法的使用,具有一定的参考价值,希望对学习thinkphp的朋友有帮助!

ThinkPHP中的fetchSql方法的使用

前面我们学习了一个sql调试的方法getLastSql方法或者别名为_sql()的方法,但是这个方法要求获取最后一条成功执行的sql语句,所以如果拿这个方法去调试sql只能够调试逻辑错误,并不能拿来调试语法错误,所以在ThinkPHP3.2.3之后新增了一个调试sql的方法:fetchSql();

语法:

$model -> where() -> limit() -> ...->order() -> fetchSql(true) ->CURD操作;

注意:FetchSql方法使用的时候可以完全看作是一个辅助方法,所以要求必须在model之后,在CURD操作之前,顺序无所谓。FetchSql方法只能在ThinkPHP3.2.3版本之后使用。

如图为ThinkPHP3.2.3之前版本的手册

去控制器中测试:

    //fetchSql方法
    public function test(){
        //实例化模型
        $model = M('Dept');
        //fetchSql方法
        $result = $model -> group('name') -> field('name,count(*)') -> fetchSql(true) -> select();
        //打印
        dump($result);
    }

显示结果:

sql跟踪信息中的结果:

当sql语句错误时:

    //fetchSql方法
    public function test(){
        //实例化模型
        $model = M('Dept');
        //fetchSql方法
        $result = $model -> group('name') -> field('name,count(*,,,,,,,//)') -> fetchSql(true) -> select();
        //打印
        dump($result);
    }

显示结果:

sql跟踪信息中的结果:

说明:通过跟踪信息和返回值,我们可以发现,使用fetchSql之后原有的连贯操作没有被执行,而是直接将连贯操作的语法组成的sql语句给返回。

(推荐教程:thinkphp教程)


# thinkphp  # 是一个  # 有一定  # 我们可以  # 并不能  # 图为  # 返回值  # 器中  # 无所谓  # 只能在  # 新增了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: C#如何调用原生C++ COM对象详解  如何在Windows环境下新建FTP站点并设置权限?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  怎么用AI帮你设计一套个性化的手机App图标?  长沙企业网站制作哪家好,长沙水业集团官方网站?  进行网站优化必须要坚持的四大原则  简单实现Android验证码  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  原生JS实现图片轮播切换效果  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  BootStrap整体框架之基础布局组件  如何快速重置建站主机并恢复默认配置?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  装修招标网站设计制作流程,装修招标流程?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  高防服务器:AI智能防御DDoS攻击与数据安全保障  三星网站视频制作教程下载,三星w23网页如何全屏?  php json中文编码为null的解决办法  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Android使用GridView实现日历的简单功能  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  北京网站制作的公司有哪些,北京白云观官方网站?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  详解Huffman编码算法之Java实现  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  公司网站制作价格怎么算,公司办个官网需要多少钱?  大型企业网站制作流程,做网站需要注册公司吗?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何快速搭建虚拟主机网站?新手必看指南  网站图片在线制作软件,怎么在图片上做链接?  如何用PHP工具快速搭建高效网站?  JS弹性运动实现方法分析  如何在IIS中新建站点并配置端口与IP地址?  javascript日期怎么处理_如何格式化输出  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何在景安云服务器上绑定域名并配置虚拟主机?  ,交易猫的商品怎么发布到网站上去?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作