学习
实践
活动
专区
工具
TVP
写文章

Laravel源码解析之QueryBuilder

Database 查询构建器 上文我们说到执行 DB::table('users')->get()是由Connection对象执行table方法返回了一个QueryBuilder对象,QueryBuilder 提供了一个方便的接口来创建及运行数据库查询语句,开发者在开发时使用QueryBuilder不需要写一行SQL语句就能操作数据库了,使得书写的代码更加的面向对象,更加的优雅。 我们看一下Connection的table方法,它返回了一个QueryBuilder实例, 其在实例化的时候Connection实例、Grammer实例和Processor实例会被作为参数传人QueryBuilder 到这里QueryBuilder大体的流程就梳理完了,虽然我们只看了select一种操作但其实其他的update、insert、delete也是一样先由QueryBuilder编译完成SQL最后由Connection 实例去执行然后返回结果,在编译的过程中QueryBuilder也会帮助我们进行防SQL注入。

62850
  • 广告
    关闭

    618夏日盛惠

    2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 QueryBuilder 构造复杂的数据筛选语句

    QueryBuilder 是一个常用的过滤器的 UI 组件,本文从前后端和数据库查询的角度总结了一些使用经验,包括一些踩坑的心得。 QueryBuilder 是什么? 引用 jQuery QueryBuilder 的定义 QueryBuilder 是一个用于创建查询和过滤器的 UI 组件。 它可以用于高级搜索的引擎页面、管理端等。 [query-builder] QueryBuilder 组件一般多用于数据筛选,它以 AND OR NOT 的嵌套组合,让非专业的人也能构造复杂的数据查询语句。 需求场景 一般来说,一个专业的问卷系统都需要满足大量的数据筛选和清洗的工作,而 QueryBuilder 正是交互的第一步。 因为这种筛选是在 api 侧实时运算的,需要直接根据答案的值解析 QueryBuilder 规则。

    2.7K90

    扫码关注腾讯云开发者

    领取腾讯云代金券