VideoRepository::best()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 20
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 20
ccs 13
cts 13
cp 1
rs 9.4285
cc 3
eloc 11
nc 4
nop 0
crap 3
1
<?php
2
3
namespace App\Repositories;
4
5
use App\Repositories\Eloquent\Repository;
6
use App\Video;
7
8
class VideoRepository extends Repository
9
{
10
    /**
11
     * @return mixed
12
     */
13 12
    public function model()
14
    {
15 12
        return Video::class;
16
    }
17
18
    /**
19
     * @return Video|best
20
     */
21 1
    public function best()
22
    {
23 1
        $videos = Video::all();
24 1
        $best_vidos = [];
25 1
        $id_best_videos = [];
26
27 1
        foreach ($videos as $video) {
28 1
            $id_best_videos[] = [$video->likes()->count(), $video->id];
29 1
        }
30
31 1
        arsort($id_best_videos);
32
33 1
        $id_best_videos = array_slice($id_best_videos, 0, 10);
34
35 1
        foreach ($id_best_videos as $value) {
36 1
            $best_vidos[] = Video::find($value[1]);
37 1
        }
38
39 1
        return $best_vidos;
40
    }
41
}
42