zoukankan      html  css  js  c++  java
  • laravel 查询

    public function recommends(Request $request)
        {
            // $sort = $request->query('sort');
            $userId = $request->query('userId');
            $email = $request->query('email');
            $name = $request->query('name');
            $phone = $request->query('phone');
            // $role = $request->query('role');
            $perPage = $request->query('perPage', 1);
            $showRole = $request->has('show_role');
            $datas = [
                'page' => [],
                'roles' => '',
                'lastPage' => 0,
                'perPage' => $perPage,
                'total' => 0,
            ];
    
            if ($showRole) {
                $datas['roles'] = Role::all();
            }
    
            // user id
            if ($userId && $users = UserRecommended::where('user_id', $userId)->paginate($perPage)) {
                $datas['page'] = $users->map(function ($user) {
                    $user->setHidden([]);
                    $user->load('user');
    
                    return $user->user;
                });
    
                return response()->json($datas)->setStatusCode(200);
            }
    
            $sourceUsers = [];
            if ($name || $email || $phone) {
                $sourceUsers = User::when($name, function ($query) use ($name) {
                    return $query->where('name', 'like', "%{$name}%");
                })
                ->when($email, function ($query) use ($email) {
                    return $query->where('email', '=', $email);
                })
                ->when($phone, function ($query) use ($phone) {
                    return $query->where('phone', 'like', "%{$phone}%");
                })
                ->select('id')
                ->get()
                ->pluck('id');
            }
    
            $users = UserRecommended::with('user')
                ->when($sourceUsers, function ($query) use ($sourceUsers) {
                    return $query->whereIn('user_id', $sourceUsers);
                })
                ->paginate($perPage);
    
            $list = $users->getCollection();
    
            $datas['page'] = $list->map(function ($user) {
                $user->user->setHidden([]);
    
                return $user->user;
            });
    
            $datas['lastPage'] = $users->lastPage();
            $datas['perPage'] = $perPage;
            $datas['total'] = $users->total();
            $datas['currentPage'] = $users->currentPage();
    
            return response()->json($datas)->setStatusCode(200);
        }
  • 相关阅读:
    php extends
    php 冒泡排序
    php base64_encode和base64_decode 编码/解码url
    php use
    php命名空间示范
    php 传一个url抓取此页面所有的链接
    pyspark
    【P1330】 封锁阳光大学
    [p1967] 货车运输
    分治的思想
  • 原文地址:https://www.cnblogs.com/sgm4231/p/10564618.html
Copyright © 2011-2022 走看看