搜索
博主信息
博文 63
粉丝 8
评论 8
访问量 63704
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP大牛成长之路:构造器的 where 派生查询及中间件
周Sir-BLOG
原创
1288人浏览过

1、构造器的 where 派生查询

1.1、 实现区间查询 whereBetween()

  1. //查询年龄为18~19岁的纪录(对象)
  2. $res = DB::table('users')->whereBetween('age',[18,19])->get();
  3. //将查询结果转为数组
  4. $res = DB::table('users')->whereBetween('age',[18,19])->get()->toArray();
  5. //将结果输出sql语句
  6. $res = DB::table('users')->whereBetween('age',[18,19])->toSql();

1.2、 实现数组匹配的记录 whereIn()

  1. //查询id为2010,2011的记录
  2. $res = DB::table('users')->whereIn('id', [2010,2011])->get();

1.3、 or 条件查询 orWhere()

  1. $res = DB::table('users')
  2. ->where('age', '<', 20)
  3. ->orWhere('gender', '<', '女')
  4. ->get();

1.4、 内联接的多表查询 join()

  1. // select * from admin,admin_group where admin.gid=admin_group.gid
  2. $res = DB::table('admin')
  3. ->join('admin_group', 'admin.gid', '=', 'admin_group.gid')
  4. ->get();

2、中间件(就是在方法执行前中间执行的方法)

2.1、第1步:创建中间件

  • App\Http\Middleware目录下新建:MyCheck.php
  1. namespace App\Http\Middleware;
  2. use Illuminate\Http\Request;
  3. use Closure;
  4. class MyCheck
  5. {
  6. public function handle(Request $request, Closure $next)
  7. {
  8. $flag=false;
  9. if (!$flag) {
  10. return response('数据错误');
  11. }
  12. return $next($request);
  13. }
  14. }

2.2、第2步:注册中间件

  • App\Http 目录下的 Kernel.php 文件的路由数组:$routeMiddleware中注册:
  1. //注册中间件
  2. 'mycheck' => \App\Http\Middleware\MyCheck::class,

2.3、第3步:指定路由中间件

  • routes 目录下的 web.php 文件的路由方法中指定路由中间件
  1. Route::get('users/dbtest', 'Users@dgbtest')->middleware('mycheck');
  • 访问dgbtest方法前就会先执行中间件;

总结:

1、对构造器的 where 派生查询的部分函数进行了了解;
2、内联接的多表查询方法理解还不够深入;
3、中间件的基本步骤进行了了解。

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:说实话我也记不住这么多方法, 使用原生多一些
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学