Thinkphp5.0 的使用模型Model查询
一、查询多条记录
获取多个数据可以使用:select()方法和all()方法。
示例一:使用all()方法。
//(1)筛选条件使用闭包函数
$res = User::all(
function(
$query){
$query->where('id','>',0)->field('id,name,email'
);
});
foreach(
$res as $val){
dump($val->
toArray());
}
//(2)筛选条件使用where()方法
$res = User::where('id','>',0)->field('id,name,email')->
all();
//致命错误: Call to undefined method app\index\controller\User::all()
示例二:使用select()方法。
//(1)筛选条件使用where()
$res = User::where('id','>',0)->field('id,name,email')->
select();
foreach(
$res as $val){
dump($val->
toArray());
}
//(2)筛选条件使用闭包函数
$res = User::select(
function(
$query){
$query->where('id','>',0)->field('id,name,email'
);
});
foreach(
$res as $val){
dump($val->
toArray());
}
1、注意结果格式:外层是数组,里层包含多个查询出来的对象不能直接使用toArray(),需要遍历
2、使用all()方法时,不能使用where等方法。
二、查询一条记录
获取多个数据可以使用:find()方法和get()方法。
示例一:使用find()方法。
//(1)筛选条件使用闭包函数
$res = User::find(
function(
$query){
$query->where('name','=','zhang san'
);
});
dump($res->
toArray());
//(2)筛选条件使用where
$res = User::where('name','=','zhang san')->
find();
dump($res->toArray());
示例二:使用get()方法。
//(1)筛选条件使用闭包函数
$res = User::get(
function(
$query){
$query->where('name','=','zhang san'
);
});
dump($res->
toArray());
//(2)错误方式:筛选条件使用where()方法,
$res = User::where('name','=','zhang san')->
get();
dump($res->
toArray());
//报错:method not exist:think\db\Query->get
//get()方式只能使用闭包形式。
三、查询一个字段
使用value()方法
$email = User::
where(
'name',
'=',
'zhang san')->value(
'email');
dump($email);
四、查询列数据
使用column()方法:
//获取name字段这一列
$res = User::where('id','>',0)->column('name'
);
dump($res);
//获取name字段这一列,并且以id字段作为索引
$res = User::where('id','>',0)->column('id,name'
);
dump($res);
//获取name字段这一列,并且以id字段作为索引
$res = User::where('id','>',0)->column('name','id'
);
dump($res);
//获取id,name,email字段这三列,并且以id字段作为索引
$res = User::where('id','>',0)->column('name,email','id'
);
dump($res);
转载于:https://www.cnblogs.com/gyfluck/p/9429439.html
相关资源:JAVA上百实例源码以及开源项目