zfxcms ^回到顶部

您的当前位置:首页 > php资讯 > Laravel框架 > laravel整理-7数据库操作2

laravel整理-7数据库操作2

所属分类: Laravel框架   2019-06-25 09:35:31  编辑:admin  浏览次数 685 次

链表查询
连表查询:join
应用场景没什么可解释的
Join inner 的操作方式,项目中最常用的方式
$result = DB::table('user')
  ->join('user_role' , 'user.role_id', '=', 'user_role.role_id')
  ->first();
$result = DB::table('user')
  ->join('user_role' , 'user.role_id', '=', 'user_role.role_id')
  ->join('user_group' , 'user_role.group_id_array', 
'=', 'user_group.group_id')
  ->first();
$result = DB::table('user')
  ->join('user_role' , function($role){
      $role->on('user.role_id', '=', 'user_role.role_id')
->where('user_role.group_id_array', 55);
  })->first();
dd($result);
传递一个 闭包 作为 join 方法的第二个参数。此 闭包 接收一个
JoinClause 对象,从而指定 join 语句中指定的约束:
 image.png
子查询

image.png
Ordering, Grouping, Limit, 使用
Ordering, latest / oldest
$result = DB::table('user')
    ->orderBy('uid', 'desc')
    ->get();
// latest(最新) / oldest(最老)  默认使用 created_at 列作为排序依据可以传递自定义的列名:
$result = DB::table('user')
    ->latest('uid')
    ->get();
 dd($result);

skip / take---》》 limit查询表示查询的数据量,或跳过指定数量的结果
$result = DB::table('config')->skip(10)->take(5)->get();
$result = DB::table('config')->offset(10)->limit(5)->get();
dd($result);
insert批量操作
insert方法
$result = DB::table('user_role')->insert([
'role_name' => '测试', 'group_id_array' => 54, 
'is_role'  => 0, 'role_status' => 1, 'desc' => '测试'
]);
$data = [
    ['role_name' =>'测试','group_id_array' => 54,
'is_role'  => 0,'role_status' => 1,'desc' => '测试'],
    ['role_name'=>'测试11','group_id_array' => 54,
'is_role'  => 0,'role_status' => 1,'desc' => '测试11'],
    ['role_name' => '测试333','group_id_array' => 54,
'is_role'  => 0,'role_status' => 1,'desc' => '测试333'],
];
$result = DB::table('user_role')->insert($data);
dd($result);

获取自增id	
$id = DB::table('user_role')->insertGetId(
  ['role_name'  => '测试','group_id_array' => 54,
'is_role'  => 0,'role_status' => 1,'desc' => '测试']
);
dd($id);
修改删除
$result = DB::table('user_role')->where('role_id', 5)->update([
  'role_name' => '管理员'
]);
$result = DB::table('user_role')->where('role_id', 5)->delete();
dd($result);

PHP文章检索

PHP文章目录