UserRepository   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 26
c 2
b 1
f 0
dl 0
loc 49
rs 10
wmc 6

5 Methods

Rating   Name   Duplication   Size   Complexity  
A update() 0 3 1
A delete() 0 3 1
A list() 0 23 2
A add() 0 4 1
A find() 0 3 1
1
<?php
2
/**
3
 * @author  Eddy <[email protected]>
4
 */
5
6
namespace App\Repository\Admin;
7
8
use App\Model\Admin\User;
9
use App\Repository\Searchable;
10
11
class UserRepository
12
{
13
    use Searchable;
14
15
    public static function list($perPage, $condition = [])
16
    {
17
        $data = User::query()
18
            ->where(function ($query) use ($condition) {
19
                Searchable::buildQuery($query, $condition);
20
            })
21
            ->orderBy('id', 'desc')
22
            ->paginate($perPage);
23
        $data->transform(function ($item) {
24
            xssFilter($item);
25
            $item->editUrl = route('admin::user.edit', ['id' => $item->id]);
26
            $item->deleteUrl = route('admin::user.delete', ['id' => $item->id]);
27
            $item->statusText = $item->status == User::STATUS_ENABLE ?
28
                '<span class="layui-badge layui-bg-green">启用</span>' :
29
                '<span class="layui-badge">禁用</span>';
30
            return $item;
31
        });
32
33
        return [
34
            'code' => 0,
35
            'msg' => '',
36
            'count' => $data->total(),
37
            'data' => $data->items(),
38
        ];
39
    }
40
41
    public static function add($data)
42
    {
43
        $data['password'] = bcrypt($data['password']);
44
        return User::query()->create($data);
45
    }
46
47
    public static function update($id, $data)
48
    {
49
        return User::query()->where('id', $id)->update($data);
50
    }
51
52
    public static function find($id)
53
    {
54
        return User::query()->find($id);
55
    }
56
57
    public static function delete($id)
58
    {
59
        return User::destroy($id);
60
    }
61
}
62