- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库 ―― 查询构建器
数据库 ―― 查询构建器
数据库 —— 查询构建器
1、简介
数据库。查询构建器可以⽤于执⾏应⽤中⼤部分数据库操作,并且能够在⽀持的 有
数据库系统上⼯作。
注意:Laravel查询构建器使⽤PDO参数绑定来避免SQL注⼊攻击,不再
需要过滤传递到绑定的字符串。
2、获取结果集
2.1 从⼀张表中取出所有⾏
在查询之前,使⽤DB门⾯的table⽅法,table⽅法为给定表返回⼀个查询构建器,
允许你在查询上链接更多约束条件并最终返回查询结果。在本例中,我们使⽤get⽅
法获取表中 有记录:
?php
namespace App\Http\Controllers;
use DB;
use App\Http\Controllers\Controller;
class UserController extends Controller{
/**
* 显示⽤户列表
*
* return Response
*/
public function index()
{
$users = DB::table(users)-get();
return view(user.index, [users = $users]);
}
}
和原⽣查询⼀样,get⽅法返回结果集的数据组,其中每⼀个结果都是PHP对象的
StdClass实例。你可以像访问对象的属性⼀样访问列的值:
foreach ($users as $user) {
echo $user-name;
}
2.2 从⼀张表中获取⼀⾏/⼀列
如果你只是想要从数据表中获取⼀⾏数据,可以使⽤first⽅法,该⽅法将会返回单
个StdClass对象:
$user = DB::table(users)-where(name, John)-first();
echo $user-name;
2.3 从⼀张表中获取组块结果集
如果你需要处理成千上百条数据库记录,可以考虑使⽤chunk⽅法,该⽅法⼀次获取
结果集的⼀⼩块,然后填充每⼀⼩块数据到要处理的闭包,该⽅法在编写处理⼤量数
据库记录的Artisan命令的时候⾮常有⽤。⽐如,我们可以将处理全部users表数据处理
成⼀次处理100记录的⼩组块:
DB::table(users)-chunk(100, function($users) {
foreach ($users as $user) {
//
}
});
你可以通过从闭包函数中返回false来中⽌组块的运⾏:
DB::table(users)-chunk(100, function($users) {
// 处理结果集...
return false;
});
2.4 获取数据列值列表
如果想要获取包含单个列值的数组,可以使⽤lists⽅法,在本例中,我们获取
有title的数组:
$titles = DB::table(roles)-lists(title);
foreach ($titles as $title) {
echo $title;
}
在还可以在返回数组中为列值指定更多的⾃定义键 (该⾃定义键必须是该表的其它字
段列名,否则会报错):
$roles = DB::table(roles)-lists(title, name);
foreach ($roles as $name = $title) {
echo $title;
}
2.5 聚合 数
队列构建器还提供了很多聚合⽅法,⽐如count, max, min, avg, 和 sum,你可以在
构造查询之后调⽤这些⽅法:
$users = DB::table(users)-count();
$price = DB::table(orders)-max(price);
当然,你可以联合其它查询字句和聚合函数来构建查询:
$price = DB::table(orders)
-where(finalized, 1)
-avg(price);
3、查询 (Select )
3.1 指定查询⼦句
当然,我们并不总是想要获取数据表的 有列,使⽤select⽅法,你可以为查询指
定⾃定义的select⼦句:
$users = DB::table(users)-selec
您可能关注的文档
- 数学21章《整式的乘除与因式分解》导学案.doc
- 数学7 不等式组应用题.doc
- 数字集成系统 第十三讲DSP Builder.pdf
- 数学一2015大纲.doc
- 数学一轮复习:《抽象函数》.doc
- 数学三角形教材分析.docx
- 数学与应用数学(师范/专升本).doc
- 数学七年级下 全面调查.doc
- 数学与应用数学大一总结.doc
- 数学专业就业情况及出国申请形势分析.doc
- 2024-2025学年酒、饮料及精制茶制造人员检测卷【精练】附答案详解.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷及参考答案详解【B卷】.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷【模拟题】附答案详解.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷【完整版】附答案详解.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷加答案详解.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷【真题汇编】附答案详解.docx
- 毕业生实习自我鉴定集合15篇.doc
- 2024-2025学年酒、饮料及精制茶制造人员检测卷含完整答案详解【必刷】.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷【精华版】附答案详解.docx
- 2024-2025学年酒、饮料及精制茶制造人员检测卷及参考答案详解【基础题】.docx
文档评论(0)