//get() 获取表中所有数据 $students = DB::table('student')->get(); //first() 获取第一条数据(随机),配合orderBy 一起使用 $students =DB::table('student')->orderBy('id','asc')->first(); //where 多条件查询 $students = DB::table('student') ->whereRaw('id >= ? and age > ?',[18,20]) ->get(); //pluck 取结果集中一列特定列,返回字符串类型 $students = DB::table('student') ->pluck('id','name','age'); //lists 按照Key=>value 对 的方式返回数组;最多两个参数,第一个参数作为value,第二个做为key。一个参数时与pluck用法一样 $students = DB::table('student') ->whereRaw('id >= ? and age > ?',[18,20]) ->lists('id','name','age'); //select() 指定查询的字段 $students = DB::table('student') ->select('id','name','age') ->get(); //chunk() 方法 指定一次返回多少条,后跟闭包(匿名函数) /*echo '<pre>'; //预格式化 DB::table('student')->chunk(2,function($students){ var_dump($students); });*/ dd($students);
get
$students = DB::table('student')->get();
first
$students = DB::table('student')
->orderBy('id','desc')
->first();
dd($students);
where
$students = DB::table('student')
->where('id','>=','2')
->get();
dd($students);
$students = DB::table('student')
->whereRaw('id>=? and age>?',[1,18])
->get();
dd($students);
pluck(返回字段列)
$names = DB::table('student')
->pluck('name');
dd($names);
//lists(可以指定第二个参数作为下标)
$names = DB::table('student')
->lists('name','id');
dd($names);
//select(指定返回字段)
$students = DB::table('student')
->select('id','name','age')
->get();
dd($students );
chunk(大量数据的查询,第一个参数是每次查询条数)
echo '<pre>';
DB::table('student')->chunk(2,function($students){
var_dump($students);
if(你的条件){
return false;
}
});
DB::table('student')
->insert([
['id'=>'1001','name'='zhangsan'],
['id'=>'1002','name'=>'lisi']
]);
//获取所有数据
$students = DB::table('student')
->get();
dd($students);
//first
DB::table('student')
->orderBy('id','asc')
->first();
//where
DB::table('student')
->where('id','>=','1002')
->get();
//多条件
DB::table('student')
->whereRaw('id>=? and age>?',[1001,12])
->get();
//pluck / lists
$names = DB::table('student')
->lists('name','id');
//select
$students = DB::table('student')
->select('id','name','age')
->get();
//chunk
echo '<pre>';
DB::table('student')->chunk(5,function($students){
dd($students);
if(condict){
return false;
}
});
查询构造器DB::Table:
get() --> 获取所有符合条件的数据(对象数组)
lists() --> 指定一个查询的列,可为查询出来的数组指定键(单投影)
first() --> 获取所有符合条件的数据中的排在第一条的数据(对象)
select() --> 可指定一个或多个要查询的列(多投影)
where() --> 添加查询条件
chunk() --> 每次查询的条数(可添加闭包函数,在函数中对数据进行处理或终止查询)
pluck() --> 指定一个查询的列(单投影)
在laravel最新版本,要求chunk方法使用orderBy也就是强制要求排序 echo '<pre>'; DB::table('student') ->orderBy('id') ->chunk(2,function ($res){ var_dump($res); });
select指定字段,chunk指定每次查询的条数,闭合函数可以设置条件停止查询
pluck返回指定的字段为数组,lists还可以指定下标
get获取所有数据,first获取一条数据
Pluck/Lists: -> output a column of data into an array
$names = DB::table('student')
->pluck('name'); // ->lists('name', 'id'); id can be the index of output
get():
$students = DB::table('student')->get(); // first 获取结果集中的第一条 $student = DB::table('table') ->orderBy('id', 'desc') ->first(); //where $students = DB::table('table') ->where('id', '>=', 1002) ->get(); $students = DB::table('table') ->whereRaw('id >= ? and age > ?', [1001, 18]) //多条件 ->get();
laravel查询构造器
laravel使用chunk 分段查询数据 前面要加上orderBy 排序
在新版本(5.6)版本中,chunk方法必须与orderBy一起使用;而且返回的值是对象,并不是数组
DB::table('users')->orderBy('id')->chunk(100, function ($users) { foreach ($users as $user) { // }});
查询构造器查询数据方法
get() first() where() pluck() lists() select() chunk()
orderBy('id','desc') 这个是排序方法 desc是降叙 asce升序
whereRaw() 添加个条件whereRaw('id>=? and age >?',[1001,18])
$students = DB::table('student')->get(); //返回所有数据
$students = DB::table('student')->first(); //返回首条数据,一条数据
$students = DB::table('student')->where('id','>=',10)->get();//单个条件
$students = DB::table('student')->whereRaw('id>=? and age >?',[1001,18])->get();//多条件
$students = DB::table('student')->pluck('字段'); //只返回某一字段的值
$students = DB::table('student')->lists('字段'); //返回某一字段的值 与pluck区别在与可以指定下标如lists('字段','下标的字段');
$students = DB::table('student')->select('字段','字段')->get();//查询的字段
DB::table('student')->chunk(2,function($studnets){
var_dump($students);
}); //每次查询的几条数据 显示
pluck
->pluck('name')