Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:查询构造器是后面ORM的基础与底层实现逻辑
9月16日作业
// 查询全部 get()方法,输出的是Collect对象
public function lists()
{
$res = DB::table('xpcms_admin')->where('id','>',15)->get();
//table('表名')
echo "<pre>";
print_r($res);
}
// toArray()方法,将Collect对象输出为array
public function toarray()
{
$res = DB::table('xpcms_admin')->where('id','>',1)->get(['id','username','real_name','mobile']);
//table('表名')
$data = $res->toArray();
echo "<pre>";
print_r($data);
}
// 查询某一列的值,单列,所以不用传数组
public function val(){
$res1 = DB::table('xpcms_admin')->where('id',23)->first('real_name');
$res2 = DB::table('xpcms_admin')->where('id',23)->value('real_name');
echo "<pre>";
print_r($res1);
echo "<hr>";
print_r($res2);
}
public function pluck(){
$res = DB::table('xpcms_admin')->limit(5)->get('username');
$res2 = DB::table('xpcms_admin')->limit(5)->pluck('username');
$res3 = DB::table('xpcms_admin')->limit(5)->pluck('username','real_name');
echo "<pre>";
print_r($res);
echo "<hr>";
print_r($res2);
echo "<hr>";
print_r($res3);
}
注意,pluck('参数1查询的字段名','参数2字段名用于显示自定义的key)第二个参数可以自定义输出的key
// 链式插入
public function insert()
{
$data = [['username'=>'testuser','password'=>'123456789','real_name'=>'测试账号1'],['username'=>'testuser22','password'=>'9888884455','real_name'=>'测试账号2']];
$res = DB::table('xpcms_admin')->insert($data);
print_r( $res);
}
public function insertGetId()
{
$data = ['username'=>'testuser3','password'=>'123456789','real_name'=>'测试账号3'];
$res = DB::table('xpcms_admin')->insertGetId($data);
print_r( $res);
}
注意 insertGetId只能插入单条,并返回单条插入成功的记录id。不支持多条。
public function update()
{
$res = DB::table('xpcms_admin')->where('group_id',3)->update(['group_id'=>4]);
print_r($res);
}
注意 一定要加入where 条件控制,反之数据库错误覆盖
public function delete()
{
$res = DB::table('xpcms_admin')->where('id',28)->delete();
print_r($res);
}
注意 一定要加入where 条件控制,反之数据库错误删错数据
/ 聚合查询
// 最大值max()
public function juhemax()
{
$res = DB::table('xpcms_admin')->max('id');
print_r($res);
}
// 最小值min()
public function juhemin()
{
$res = DB::table('xpcms_admin')->min('id');
print_r($res);
}
// 平均值 average()
public function average()
{
//avg('字段名') 对哪个字段进行计算
$res = DB::table('xpcms_admin')->avg('id');
print_r($res);
}
// 平均值 average()
public function sum()
{
//sum('字段名') 对哪个字段进行求和,只能传一个字段,不能多个
$res = DB::table('xpcms_admin')->sum('id');
print_r($res);
}
// 记录总数 count()
public function count()
{
$res = DB::table('xpcms_admin')->count();
print_r($res);
}
//链式查询器 as 重命名字段名
public function rename()
{
$res = DB::table('xpcms_admin')->select('id','username as name','real_name as nickname' )->get();
echo '<pre>';
print_r($res);
}
// 使用场景:接口中隐藏字段真实名称,防止暴露