博主信息
王佳祥
博文
54
粉丝
3
评论
0
访问量
17383
积分:0
P豆:111.5

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

2020年09月18日 17:27:38阅读数:657博客 / 王佳祥/ php

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

一、链式查询方法

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举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 下面由thinkphp​教程栏目给大家介绍ThinkPHP操作之操作,希望对需要的朋友有所帮助!
    mysql中同时两个:首先打开编辑器sublime,新建函chaxun;然后连接,填写的用户名,密码,主机名以及要使用的;接着填写的sql语句;最后打开本地的服务器
    Java连接,【Java Database Connectivity,简称JDBC】是Java语言中用来规范客户端程序如何来访的应用程序接口,提供了诸如和更新
    PDO是PHP的对象扩展,该扩展为PHP访定义了一个轻量级的一致接口,并提供了一个访抽象层,可以使用户不管使用哪种,都可以用相同的和获取
    mysql:首先运行软件,并选择需要进行接地址;然后依次点击【-创建】按钮;接着输入语句进行的对话框;最后结果以列表的形进行展现出来。
    mysql外网访不了的解决办:首先进入mysql用户;然后执行【update user set host='%' where user ='root';】,执行刷新权限【flush privileges
    php语言Mysql内容的:首先php页面在进行浏览时需要有php语言执行的环境;然后建立php文件【mysql.php】进行具体的操作;接着建立页面文件【index.php】进行接收
    php多条件的实现:1、做一个表单,并创建表格将表显示出来;2、调取封装,创造相应的条件,并检验是否为空;3、用php代码遍历的表即可。
    sql语言具有的三个常见功能是:1、定义;能够定义的三级模结构,即外模、全局模和内模结构。2、操纵;包括对基本表和视图的插入、删除、修改和功能。
    PHP中经常需要对中的进行,PDO是现下较为主流的连接,PDO::fetch()是PDO中的主要,本文就带大家一起来看一看如何使用fetch()
    php中需要经常对进行连接,mysqli是php中连接的一种,我们有时候会需要中表的字段,本文就带大家一起来看一看,mysqli_num_fields()
    phpmysql并显示的:首先在内创建表并插入多条;然后创建文件,使用header将页面的编码格设置为【utf-8】;接着选择要操作的,并将结果集转换为组形;最后在浏览器打开文件看结果
    php实现二级联动菜单的:首先根的值,通过jQuery把值传给后台PHP处理;然后用PHPMySQl,得到相应的小;最后返回JSON给前端处理即可。
    php把mysql转成json格:首先mysql测试表,并新建【testmysql.php】文件来测试;然后用执行语句;接着将放到user对象中;最后用【json_encode
    php上传图片无显示解决:把图片上传到然后显示的做是专门写一个php页面, php可以通过表单上传文件到,通过GET或POST获取图片的id、、header函输出图片
    SQL优化是老生常谈的题,在面对百万级量的分页,又有什么好的优化建议呢?下面将列举了一些常用的,供大家参考学习!
    在mysql中,可以通过DESCRIBE语句来表的字段型;该语句能够以表格的形来展示表的字段信息,包括字段名、字段型、是否为主键、是否有默认值等;语结构为“DESCRIBE 表名
    php成员也叫成员函,是定义在的内部,可用于访对象的;php成员的语是【[修饰符] function 名(参..){[体][return 返回值]}】。
    php mysqli用:1、通过mysqli建立到mysql的连接,并打开指定;2、通过mysqli设置默认客户端的编码;2、使用mysqli query语句执行SQL
    linux php安装mysql:首先关闭linux的防火墙;然后从mysql官网上下载自己适合的mysql版本;接着在mysql当前目录下设定目录的访权限;最后看mysql状态即可。