thinkphp学习08-数据库的链式查询

这篇具有很好参考价值的文章主要介绍了thinkphp学习08-数据库的链式查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面课程中我们通过指向符号“->”多次连续调用方法称为:链式查询,当 Db::name(‘user’)时,返回查询对象(Query),即可连缀数据库对应的方法,而每次执行一个数据库查询方法时,比如 where(),还将返回查询对象(Query),只要还是数据库对象,那么就可以一直使用指向符号进行链式查询,再利用 find()、select()等方法返回数组(Array)或数据集对象(Colletion),而 find()和 select()是结果查询方法(放在最后),并不是链式查询方法

public function index()
{
    $user = Db::name('user')->where('id', 27)->order('id', 'desc')->find();
    dump($user);
}

thinkphp学习08-数据库的链式查询,php,数据库,学习,oracle
有多少种类似 where()的链式操作方法呢,官方文档
thinkphp学习08-数据库的链式查询,php,数据库,学习,oracle

如果多次使用数据库查询,那么每次静态创建都会生成一个实例,造成浪费, 我们可以把对象实例保存下来,再进行反复调用即可

public function index()
{
   $userQuery = Db::name('user');
   $dataFind = $userQuery->where('id', 5)->find();
   dump($dataFind);
   $dataSelect = $userQuery->select();
   dump($dataSelect);
}

thinkphp学习08-数据库的链式查询,php,数据库,学习,oracle
当同一个对象实例第二次查询后,会保留第一次查询的值

public function index()
{
    $userQuery = Db::name('user');
    $data1 = $userQuery->order('id', 'desc')->select();
    echo  Db::getLastSql();
    $data2 = $userQuery->select();
    echo "<br>";
    echo Db::getLastSql();;
}

thinkphp学习08-数据库的链式查询,php,数据库,学习,oracle
使用 removeOption()方法,可以清理掉上一次查询保留的值

public function index()
{
    $userQuery = Db::name('user');
    $data1 = $userQuery->order('id', 'desc')->select();
    echo  Db::getLastSql();
    $userQuery->removeOption('order')->select();
    $data2 = $userQuery->select();
    echo "<br>";
    echo Db::getLastSql();;
}

thinkphp学习08-数据库的链式查询,php,数据库,学习,oracle文章来源地址https://www.toymoban.com/news/detail-811756.html

到了这里,关于thinkphp学习08-数据库的链式查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF实战学习笔记08-创建数据库

    创建文件夹 ./Context 创建文件 ./Context/BaseEnity.cs ./Context/Memo.cs ./Context/MyTodoContext.cs ./Context/Todo.cs ./Context/User.cs 创建数据对象 ./Context/BaseEnity.cs ./Context/Memo.cs ./Context/MyTodoContext.cs 创建数据库DbSet ./Context/Todo.cs ./Context/User.cs 添加nuget包 Microsoft.EntityFrameworkCore.Design Shared design-time co

    2024年02月16日
    浏览(41)
  • 【MySQL】MySQL PHP 语法,PHP MySQL 简介,查询,下载 MySQL 数据库, SQL 教程

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP,在这些语言中,MySQL 在 PHP 的 web 开发中是应用最广泛。 我们

    2024年02月11日
    浏览(56)
  • php - 超详细 thinkphp + redis 实现商品秒杀抢购功能,提供完整流程详细讲解及企业级功能示例源代码,环境准备、数据库表设计、并发压力测试等(新手小白一看就懂!)

    很多文章都已经过时了,而且还不讲原理,本文一次性说清楚。 很多电商系统几乎都有秒杀功能,那么用 tp+redis 怎么实现呢? 本文详细讲解商品秒杀功能的实现,提供详细的代码及注释,包括环境准备、环境搭建教程(已搭建的跳过即可)、数据库表设计、压力测试、示例

    2023年04月08日
    浏览(48)
  • 数据库MySQL学习-数据查询(持续更新中...)

    MySQL是DBMS软件系统,通过这些系统来维护管理数据库。 DBMS类似于用于和数据库之间的桥梁。 下载免费的MySQL 社区版,安装后需要下载MySQL workbench vscode phpmyadmin等工具来接入MySQL。 MySQL可以管理多个数据库的,数据库存放在某台主机上面,数据库上级是服务器,服务器是用来

    2024年02月09日
    浏览(59)
  • 【PHP系统学习】——Laravel框架数据库的连接以及数据库的增删改查的详细教程

    👨‍💻个人主页 :@开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏 :PHP程序开发 —   按照 MVC 的架构,对数据的操作应该放在 Model 中完成,但如果不使用 Model,我们也可以用 laravel框架提供的 D8 类

    2024年04月15日
    浏览(48)
  • 数据库学习笔记-----SQL查询语句和代码演示

    SQL不区分大小写,本文是邹兆年老师的课件和课堂的部分内容总结,部分比较细的内容请看课件 Db笔记(1).pdf 数值型: 整型:INT/SMALLINT/BIGINT        4个字节/两个字节/八个字节 浮点型:NUMERIC/DECIMAL(p,s):定点数,p位有效数字,小数点后s位                               

    2023年04月12日
    浏览(65)
  • 数据库的基础学习1:select语句的查询

    数据库的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段 数据库管理系统:DBMS 常见的关系型数据库:Oracle、DB2、mysql 常见的非关系型数据库:MongoDB、redies sql的四部分: DML(update、delete、insert) DDL(create、drop、alter、truncate) DQL(select查询语句) DCL(对数据进行变

    2024年02月08日
    浏览(55)
  • ThinkPHP6之数据库操作上

    注意,tp6在进行语法学习的时候都是在app/index.php中写代码的,代码写在index函数下面,而且 tp6自带的文件都是由自动加载器的,不需要包含autoload.php文件 要对数据库进行操作,要修改两个地方,一个数.env文件,一个是config/database.php文件 config/database.php connections里面的一个子

    2024年02月01日
    浏览(82)
  • thinkphp6 入门(4)--数据库操作 增删改查

    一、设计数据库表 比如我新建了一个数据库表,名为test 二、配置数据库连接信息  本地测试 直接在.env中修改,不用去config/database.php中修改 正式环境 三、增删改查  引入Db库 假设新增的控制器路径为 apptestcontrollerCURD.php 2. 增 Db::name(\\\'test\\\')其中\\\'test\\\'为数据库表的名字,使用

    2024年02月09日
    浏览(40)
  • MySQL数据库增删改查及聚合查询SQL语句学习汇总

    目录 数据库增删改查SQL语句 MySQL数据库指令 1.查询数据库 2.创建数据库 3.删除数据库 4.选择数据库 创建表table   查看所有表 创建表 查看指定表的结构 删除表 数据库命令进行注释 增删改查(CRUD)详细说明 增加 SQL库提供了关于时间的函数:now()  查询 查询表作列与列之间进

    2024年02月09日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包