1、laravel查询构造器和聚集方法的使用




<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
//链式操作:查询
public function item(){
// 原生,返回数组
// $res = DB::select('select * from admin limit 0,:n',['n'=>1]);
// 链式调用
// $res2 = DB::table('admin')->first();
// 查询某一条记录first
//select id,username from admin where id=105
$res2 = DB::table('admin')->where('id',105)->first(['username']);
echo '<pre>';
// print_r($res);
print_r($res2);
}
// 查询多条记录get
//select * from admin where idname=1
public function lists(){
$res = DB::table('admin')->where('idname',1)->get(['id','username']);
// 遍历里面的数组,还能取字段出来
$data = $res->toArray();
echo '<pre>';
// print_r($res);
// echo '<hr>';
print_r($data);
}
//查询某一列的一个值value
public function value(){
$res = DB::table('admin')->where('id',99)->first('username');
$res2 = DB::table('admin')->where('id',99)->value('username');
echo '<pre>';
print_r($res);
echo '<hr>';
print_r($res2);
}
// pluck方法,原样返回数据库里的值
public function pluck(){
$res = DB::table('admin')->pluck('username');
$res2 = DB::table('admin')->pluck('username','id');
echo '<pre>';
print_r($res);
print_r($res2);
}
//insert新增
public function insert(){
$data = ['username'=>'xz','password'=>'xz123','idname'=>'3'];
$res = DB::table('admin')->insert($data);
//获取插入的id
// $res = DB::table('admin')->insertGetId($data);
var_dump($res);
}
//update更新
public function update(){
$res = DB::table('admin')->where('idname',1)->update(['idname'=>5]);
var_dump($res);
}
//delete删除
public function del(){
$res = DB::table('admin')->where('id',104)->delete();
var_dump($res);
}
//聚集方法:count sum max min avg方法
public function juhe(){
// 最大值
$res = DB::table('admin')->max('id');
var_dump($res);
echo '<hr>';
// 最小值
$res = DB::table('admin')->min('id');
var_dump($res);
echo '<hr>';
//平均值
$res = DB::table('admin')->avg('id');
var_dump($res);
echo '<hr>';
//求和
$res = DB::table('admin')->sum('id');
var_dump($res);
echo '<hr>';
//记录总数
$res = DB::table('admin')->where('idname',3)->count();
var_dump($res);
}
}



- 总结:
first()
:返回数组,查询某一条记录get()
:数组,能取字段出来,查询多条记录value()
:查询某一列中的一个具体的值pluck()
:原样返回数据库里的值