登录  /  注册
博主信息
博文 55
粉丝 3
评论 0
访问量 66689
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数据库访问类链式查询方法
王佳祥
原创
2411人浏览过

数据库访问类链式查询方法

一、链式查询方法

1.whereBetween()在范围之间查询

控制器:home.php

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. Class Home extends Controller{
  6. //whereBetwen在范围内查询
  7. public function between(){
  8. $res = DB::table('staff')->select('id','name','age')->whereBetween('age',[20,25])->get();
  9. echo '<pre>';
  10. print_r($res);
  11. }
  12. }

路由:web.php

  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. Route::get('/home/between','Home@between');


2.whereIn()在指定数组中查询

控制器:home.php

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. Class Home extends Controller{
  6. //whereIn
  7. public function in(){
  8. $res = DB::table('staff')->whereIn('id',[1002,1050])->get();
  9. echo '<pre>';
  10. print_r($res);
  11. }
  12. }

路由:web.php

  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. Route::get('/home/in','Home@in');


3.orWhere() 或查询

控制器:home.php

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. Class Home extends Controller{
  6. //orWhere
  7. public function whereor(){
  8. $res = DB::table('staff')->where('id',1002)->Orwhere('id',1007)->get();
  9. echo '<pre>';
  10. print_r($res->toArray());
  11. }
  12. }

路由:web.php

  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. Route::get('/home/whereor','Home@whereor');


4.join() 多表查询

控制器:home.php

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. Class Home extends Controller{
  6. //join查询
  7. public function join(){
  8. $res = DB::table('staff')->join('user','staff.name','=','user.name')->get();
  9. echo '<pre>';
  10. print_r($res);
  11. }
  12. }

路由:web.php

  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. Route::get('/home/join','Home@join');


二、中间件

  • 定义中间件:Mycheck.php
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Illuminate\Http\Request;
  4. use Closure;
  5. /*
  6. 中间件
  7. 固定格式
  8. */
  9. class Mycheck{
  10. public function handle(Request $request,Closure $next){
  11. $a = 3;
  12. $b = 5;
  13. if($a+$b === 8){
  14. return response('a+b='.($a+$b),200);
  15. }
  16. return $next($request);
  17. }
  18. }
  • 注册中间件:Kernel.php
  1. <?php
  2. namespace App\Http;
  3. use Illuminate\Foundation\Http\Kernel as HttpKernel;
  4. class Kernel extends HttpKernel
  5. {
  6. protected $routeMiddleware = [
  7. //注册中间件
  8. 'mycheck' => \App\Http\Middleware\Mycheck::class,
  9. ];
  10. }
  • 触发中间件:web.php
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. Route::get('/home/join','Home@join')->middleware('mycheck');


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

批改状态:合格

老师批语:其实想想laravel的操作是有套路的, 按他的步骤去做就行, 挺优雅的
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

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