ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**方法1:原生查询:** ~~~ //原生查询支持参数绑定 \think\Db:query('select * from user where id=?',[$id]); \think\Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']); //也支持命名占位符绑定 \think\Db::query('select * from think_user where id=:id',['id'=>8]); \think\Db::execute('insert into think_user (id, name) values (:id, :name)',['id'=>8,'name'=>'thinkphp']); ~~~ **方法2:构造器查询** 构造器(如select等)前面的辅助方法是不会真正的执行sql的只有select或者find之后才能调用 除了find、select之外还有update(更新)、delete(删除)、insert(删除) 还有聚合查询(count、max、min、avg、sum),。。。等等 ~~~ $result=\think\Db::table('banner_item')->where('banner_id','=',$id)->select(); ~~~ 除了上面的执行语句的方法还有许多辅助的方法、他们也被成为链式操作方法 table、where、alias、field、strict、limit、page、order、group、having、join、union、distinct、lock、cache、comment、fethSql、force、partition、failException、sequence 带*表示可以多次调用 | 连贯操作 | 作用 | 支持的参数类型 | | --- | --- | --- | | where* | 用于AND查询 | 字符串、数组和对象 | | whereOr* | 用于OR查询 | 字符串、数组和对象 | | wheretime* | 用于时间日期的快捷查询 | 字符串 | | table | 用于定义要操作的数据表名称 | 字符串和数组 | | alias | 用于给当前数据表定义别名 | 字符串 | | field* | 用于定义要查询的字段(支持字段排除) | 字符串和数组 | | order* | 用于对结果排序 | 字符串和数组 | | limit | 用于限制查询结果数量 | 字符串和数字 | | page | 用于查询分页(内部会转换成limit) | 字符串和数字 | | group | 用于对查询的group支持 | 字符串 | | having | 用于对查询的having支持 | 字符串 | | join\* | 用于对查询的join支持 | 字符串和数组 | | union\* | 用于对查询的union支持 | 字符串、数组和对象 | | view\* | 用于视图查询 | 字符串、数组 | | distinct | 用于查询的distinct支持 | 布尔值 | | lock | 用于数据库的锁机制 | 布尔值 | | cache | 用于查询缓存 | 支持多个参数 | | relation\* | 用于关联查询 | 字符串 | | with\* | 用于关联预载入 | 字符串、数组 | | bind\* | 用于数据绑定操作 | 数组或多个参数 | | comment | 用于SQL注释 | 字符串 | | force | 用于数据集的强制索引 | 字符串 | | master | 用于设置主服务器读取数据 | 布尔值 | | strict | 用于设置是否严格检测字段名是否存在 | 布尔值 | | sequence | 用于设置Pgsql的自增序列名 | 字符串 | | failException | 用于设置没有查询到数据是否抛出异常 | 布尔值 | | partition | 用于设置分表信息 | 数组 字符串 |