Laravel--查询构造器 方法 及聚合函数

Posted on   jiaoqing。  阅读(1400)  评论(0编辑  收藏  举报

controller内内容如下

<?php

/**

 * Created by PhpStorm.

 * User: work

 * Date: 2018/1/2

 * Time: 20:36

 */

namespace App\Http\Controllers;

 

use App\Student\Student;

use Illuminate\Support\Facades\DB;

Route::any('query1','StudentController@query1');查询构造器方法  添加方法

  public function query1()

    {

//  返回布尔     单个添加$bloon = DB::table('student')->insert(['name'=>'gwz','age'=>18]);

//  返回当前添加行   $num = DB::table('student')->insertGetId(['name'=>'ggg','age'=>3]);

//   批量添加返回布尔  $bloon =    DB::table('student')->insert([

//            ['name'=>'gwz1','age'=>11],

//            ['name'=>'gwz22','age'=>111],

//        ]);

    }

Route::any('query2','StudentController@query2');查询构造器方法  修改方法

    //查询构造器方法  修改方法

    public function query2()

    {

//      影响的行数  $num =  DB::table('student')->where(['id'=>5])->update(['age'=>0]);

 

//        修改年龄增加

//   受影响行数  默认修改年龄数自增为 age=age+1  $num = DB::table('student')->increment('age');

//   受影响行数  默认修改年龄数自增为 age=age+3  $num = DB::table('student')->increment('age',3);

 

       //修改年龄减小

//       受影响行数 默认修改年龄为age=age-1  $num = DB::table('student')->decrement('age');

//       受影响行数 默认修改年龄为age=age-3  $num = DB::table('student')->decrement('age',3);

 

 

//受影响行数  id为5 年龄 age=age+3 同时修改`name`为hahahah  $num = DB::table('student')->where(['id'=>5])->increment('age',3,['name'=>'hahahah']);

//        var_dump($num);

    }

Route::any('query3','StudentController@query3');查询构造器方法 删除方法

    //查询构造器方法 删除方法

    public function query3()

    {

//     返回受影响行数  删除条件为 id = 5  $num = DB::table('student')->where('id','5')->delete();

//     返回受影响行数  删除条件为 id >= 5  $num = DB::table('student')->where('id','>=','5')->delete();

//清空表 truncate 非常危险 不返回任何        DB::table('student')->truncate();

    }

 

Route::any('query4','StudentController@query4');查询构造器  查询方法

    //查询构造器  查询方法

    public function query4()

    {

//        主要方法有  get() first() where() pluck()  select()

//        获取数据get()

//   获取所有数据    $student = DB::table('student')->get()->toArray();

//        没什么卵用first()

//   获取倒序ID的第一条ID    $student = DB::table('student')->orderBy('id','desc')->first();

//

//

//       条件查询where()

//     获取ID大于0的所有数据 并且变为数组   $student = DB::table('student')->where('id','>=',0)->get()->toArray();

//        复合条件查询whereRaw()

//    获取id是11并且年龄是11 并且变为数组    $student = DB::table('student')->whereRaw("id=? and age =?",['11','11'])->get()->toArray();

 

        //pluck()中文意思为摘下的意思  摘下一个字段存为一个数组

//    将字段`name`摘下存入一个数组    $names = DB::table('student')->pluck('name')->toArray();

       //pluck()

//    将字段`name`摘下来  数组形式 为 array('id'=>'name')   $names = DB::table('student')->pluck('name','id')->toArray();

       //select()指定要查询的字段

//     查询`age`,`name`字段内容 且变为二维数组   $student = DB::table('student')->select('age','name')->get()->toArray();

 

        //chunk()用来处理大量数据

//        5.4的不会用暂时不用

// 每次查1000条为一个数组 满足条件则终止查询

//        DB::table('student')->chunk(1000,function ($msg){

//            var_dump($msg);

//            if(你的条件)

//            {

//                return false;

//            }

//        });

    }

Route::any('query5','StudentController@query5');聚合函数

    //聚合函数

    public function query5()

    {

        //统计条数count()

//       表中所有条数 $num = DB::table('student')->count();

        //max()取最大

        //统计字段中数值最大的 $num = DB::table('student')->max('age');

        //min()取最小

        //统计字段中数值最小的值 $num = DB::table('student')->min('age');

        //avg()

        //统计字段中数值平均值 $num = DB::table('student')->avg('age');

        //sum()

        //统计字段中数值的和 

$request->all()//获取所有参数if($request->isMethod('GET')){判断是否是GET请求}$res = $request->is('student/*');$res = $request->ajax();========================================================
laravel 使用 session 路由配置Route::group(['middleware'=>['web']],function (){    Route::any('session1',['uses'=>'StudentController@session1']);    Route::any('session2',['uses'=>'StudentController@session2']);});
StudentController 内 存入sessionSession存入数组内方法Sssion::push('key','value1');Sssion::push('key','value2');取出Session中的数组并且删除Session::pull('key');
判断Session中某个Key在不在Session::has('key')public function session1(Request $request)    {        //HTTP request session();        $request->session()->put('key1','val1');Session::put('key','value');    }
StudentController 内 读取 session  public function session2(Request $request)    {        $session = $request->session()->get('key1');Session::get('key','如果key不存在可以在这里写默认值');        var_dump($session);    }
php变量转json public function response()    {        $data = ['errCode'=>0,                'errMsg'=>'success',            'data'=>'dada'            ];        return response()->json($data);    }

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示