thinkphp5.1

Thinkphp

前记:
PHPStorm常用快捷键 https://blog.csdn.net/zy0412326/article/details/129058536
一、
http://localhost/tp/public/test/hello/value/word

code:

<?php namespace app\controller; class Test { public function index() { return 'test'; } public function hello($value = '') { return 'hello '.$value; } } 2.http://localhost/tp/public/before 用use app\BaseController; 不是视频里的use app\Controller; ![在这里插入图片描述](https://img-blog.csdnimg.cn/fd35d44801134a79aff774d04b7ef7ab.png) 3、 报错:SQLSTATE[HY000] [1049] Unknown database 检查下.env文件中的数据库连接,要是有多个,将需要连接的配置放在第一个 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c019217beffc49199b9364bb6f0b55e9.png) 4、数据库查询 一.单数据查询 1. Db::table()中 table 必须指定完整数据表(包括前缀); 2. 如果希望只查询一条数据,可以使用 find()方法,需指定 where 条件; Db::table('tp_user')->where('id', 27)->find() 3. Db::getLastSql()方法,可以得到最近一条 SQL 查询的原生语句; SELECT * FROM `tp_user` LIMIT 1 4. 没有查询到任何值,则返回 null; 5. 使用 findOrFail()方法同样可以查询一条数据,在没有数据时抛出一个异常; Db::table('tp_user')->where('id', 1)->findOrFail() 6. 使用 findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组; 7. Db::table('tp_user')->where('id', 1)->findOrEmpty(); 二.数据集查询 8. 想要获取多列数据,可以使用 select()方法; Db::table('tp_user')->select(); SELECT * FROM `tp_user` 2. 多列数据在查询不到任何数据时返回空数组,使用 selectOrFail()抛出异常; Db::table('tp_user')->where('id', 1)->selectOrFail(); 3. 在 select()方法后再使用 toArray()方法,可以将数据集对象转化为数组; $user = Db::table('tp_user')->select()->toArray(); dump($user); 9. 当在数据库配置文件中设置了前缀,那么我们可以使用 name()方法忽略前缀; Db::name('user')->select(); 三.其它查询 1. 通过 value()方法,可以查询指定字段的值(单个),没有数据返回 null; Db::name('user')->where('id', 27)->value('username'); 2. 通过 colunm()方法,可以查询指定列的值(多个),没有数据返回空数组; Db::name('user')->column('username'); 3. 可以指定 id 作为列值的索引; Db::name('user')->column('username', 'id'); 4. 如果处理的数据量巨大,成百上千那种,一次性读取有可能会导致内存开销过大; 5. 为了避免内存处理太多数据出错,可以使用 chunk()方法分批处理数据; 6. 比如,每次只处理 100 条,处理完毕后,再读取 100 条继续处理; Db::table('tp_user')->chunk(3, function($users) { foreach ($users as $user) { dump($user); }echo 1; }); 7. 可以利用游标查询功能,可以大幅度减少海量数据的内存开销,它利用了 PHP 生 成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取; $cursor = Db::table('tp_user')->cursor(); foreach($cursor as $user){ dump($user); } 5、Json-Handle插件下载安装使用! 下载方式:百度网盘 链接:https://pan.baidu.com/s/1RroK19KACuOW-tkFyDXUPg 提取码:yvs6 ![在这里插入图片描述](https://img-blog.csdnimg.cn/403e72e753ea492ebdaf875b6afe4e6f.png) 6、 Db::query,使用sql语句原生查询 public function demoa() { //$Host = Db::connect('mysql')->table('tp_user')->select(); //$Host = Db::table('tp_user')->where('id', 27)->find(); $Host = Db::query('select * from tp_user where username="孙悟空" '); return json($Host); } 7、 报错:Call to undefined method think\Db::getlastSql() ThinkPHP6项目基操(6.数据库Db操作) https://blog.csdn.net/zy1281539626/article/details/110313357?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-110313357-blog-103792412.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-110313357-blog-103792412.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=6 use think\facade\Db;不是use think\Db;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值