• laravel常用查询


    插入

    DB::table('t_admin_users')->insert([
        [
            'role_id'    => $allData['roleId'],
            'username'   => $allData['userName'],
            'real_name'  => $allData['realName'],
            'avatar'     => "",
            'created_at' => date("Y-m-d H:i:s", time()),
            'group_id'   => $adminUser->group_id,
            'password'   => md5(getRandString(10))
        ]
    ]);
    

    删除

    DB::table('t_admin_users')->where('id', $allData['toUserId'])->delete();
    

    只取某个值

     $day = DB::table('t_backend_user_disable_record')->where('user_id', $user->user_id)->value('day');
    

    联查

     $user = DB::connection('appsql')->table('k_users')
          ->leftJoin("k_user_wallet", "k_user_wallet.user_id", "=", "k_users.id")
          ->leftJoin("k_user_infos", "k_user_infos.user_id", "=", "k_users.id")
          ->leftJoin("kl_admin.t_backend_user_disable_record", "kl_admin.t_backend_user_disable_record.user_id", "=", "k_users.id")
          ->select("*", "k_users.status as banned_status", "k_users.id as user_id")
          ->where('k_users.id', $allData['toUserId'])->first();
    

    更新

    DB::connection('appsql')->table('k_users')
          ->where('id', $toUserId)
          ->update(['invite_type' => $inviteType]);
    

    自定义count和sum

    $logs = DB::connection('appsql')->table('k_user_infos')
          ->leftJoin('k_user_wallet', 'k_user_infos.user_id', '=', 'k_user_wallet.user_id')
          ->leftJoin('k_users', 'k_users.id', '=', 'k_user_infos.user_id')
          ->select(
              DB::raw("COUNT(k_user_infos.`device_name`= 'ios' or null) as total_ios"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'aos' or null) as total_aos"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'ios' and k_user_wallet.`total_recharge` > 0 or null) as ios_recharge_num"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'aos' and k_user_wallet.`total_recharge` > 0 or null) as aos_recharge_num"),
              DB::raw("sum(case when k_user_infos.`device_name`= 'ios' then k_user_wallet.`total_recharge` else 0 end) as ios_recharge_sum"),
              DB::raw("sum(case when k_user_infos.`device_name`= 'aos' then k_user_wallet.`total_recharge` else 0 end) as aos_recharge_sum"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'ios' and k_users.`reg_time` > '{$date}' or null) as ios_today_num"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'aos' and k_users.`reg_time` > '{$date}' or null) as aos_today_num"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'ios' and k_users.`reg_time` > '{$date}' and k_user_wallet.`total_recharge` > 0 or null) as ios_today_recharge_num"),
              DB::raw("COUNT(k_user_infos.`device_name`= 'aos' and k_users.`reg_time` > '{$date}' and k_user_wallet.`total_recharge` > 0 or null) as aos_today_recharge_num")
          )
          ->get();
    

    按类型查询

     //获取查询类型
    function getTimeTye($type) {
        switch ($type) {
            case 1://小时
                $format = "DATE_FORMAT(time,'%Y-%m-%d-%H')";
                break;
            case 2://天
                $format = "DATE_FORMAT(time,'%Y-%m-%d')";
                break;
            case 3://周
                $format = "DATE_FORMAT(time,'%Y-%u')";
                break;
            case 4://月
                $format = "DATE_FORMAT(time,'%Y-%m')";
                break;
            case 5://分钟
                $format = "DATE_FORMAT(time,'%Y-%m-%d-%H-%i')";
                break;
        }
        return $format;
    }
    

    having 判断自定义字段

    $users = DB::connection('appsql')->table('k_users')
           ->select("*", DB::raw("count(k_users.id) as num"))
           ->where("reg_ip", "<>", "unknown")
           ->where("reg_ip", "<>", "")
           ->where("reg_ip", "<>", "127.0.0.1")
           ->groupBy("reg_ip")
           ->having('num', '>', 3)
           ->limit(50)->get();
    
  • 相关阅读:
    swift 学习资源 大集合
    ACM:回溯,八皇后问题,素数环
    hibernate 批量处理数据
    CTR校准
    Android Handler Message总结一下
    使用腾讯电子邮件,邮箱的一部分是无法接收正常邮件的问题
    JS获得URL参数
    JSP 获取访问者真正的IP地址
    根据百度API获得经纬度,然后根据经纬度在获得城市信息
    oracle initialization or shutdown in progress解决方法
  • 原文地址:https://www.cnblogs.com/HappyTeemo/p/15476032.html
Copyright © 2020-2023  润新知