Total Complexity | 3 |
Total Lines | 31 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | <?php |
||
8 | class DownloadStat extends Model |
||
9 | { |
||
10 | use HasFactory; |
||
|
|||
11 | |||
12 | protected $guarded = []; |
||
13 | |||
14 | public static function insertTopDownloads(): void |
||
15 | { |
||
16 | $releases = Release::query() |
||
17 | ->where('grabs', '>', 0) |
||
18 | ->select(['id', 'searchname', 'guid', 'adddate']) |
||
19 | ->selectRaw('SUM(grabs) as grabs') |
||
20 | ->groupBy('id', 'searchname', 'adddate') |
||
21 | ->havingRaw('SUM(grabs) > 0') |
||
22 | ->orderByDesc('grabs') |
||
23 | ->limit(10) |
||
24 | ->get(); |
||
25 | |||
26 | foreach ($releases as $release) { |
||
27 | self::updateOrCreate([ |
||
28 | 'searchname' => $release->searchname, |
||
29 | 'guid' => $release->guid, |
||
30 | 'adddate' => $release->adddate, |
||
31 | 'grabs' => $release->grabs, |
||
32 | ]); |
||
33 | } |
||
34 | } |
||
35 | |||
36 | public static function getTopDownloads(): array |
||
39 | } |
||
40 | } |
||
41 |