SqlRepository::all()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
ccs 2
cts 2
cp 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Noitran\Repositories\Repositories;
6
7
use Illuminate\Database\Eloquent\Model;
8
9
/**
10
 * Class SqlRepository.
11
 */
12
abstract class SqlRepository extends AbstractRepository
13
{
14
    /**
15 15
     * {@inheritdoc}
16
     */
17 15
    public function all($columns = ['*'])
18 15
    {
19
        return parent::all(
20
            $this->getColumnNames($columns)
21
        );
22
    }
23
24
    /**
25 1
     * {@inheritdoc}
26
     */
27 1
    public function paginate(int $perPage = null, $columns = ['*'])
28 1
    {
29 1
        return parent::paginate(
30
            $perPage,
31
            $this->getColumnNames($columns)
32
        );
33
    }
34
35
    /**
36 1
     * {@inheritdoc}
37
     */
38 1
    public function simplePaginate(int $perPage = null, $columns = ['*'])
39 1
    {
40 1
        return parent::simplePaginate(
41
            $perPage,
42
            $this->getColumnNames($columns)
43
        );
44
    }
45
46
    /**
47 3
     * {@inheritdoc}
48
     */
49 3
    public function find($id, $columns = ['*'])
50 3
    {
51 3
        return parent::find(
52
            $id,
53
            $this->getColumnNames($columns)
54
        );
55
    }
56
57
    /**
58 1
     * {@inheritdoc}
59
     */
60 1
    public function findByField($field, $value = null, $columns = ['*'])
61 1
    {
62 1
        return parent::findByField(
63 1
            $this->getColumnName($field),
64
            $value,
65
            $this->getColumnNames($columns)
66
        );
67
    }
68
69
    /**
70 1
     * {@inheritdoc}
71
     */
72 1
    public function first($columns = ['*']): ?Model
73 1
    {
74
        return parent::first(
75
            $this->getColumnNames($columns)
76
        );
77
    }
78
79
    /**
80
     * @param string $column
81
     * @param mixed $model
82
     *
83 22
     * @return string
84
     */
85 22
    public function getColumnName($column, $model = null): string
86
    {
87 22
        $model = $model ?? $this->model;
88 22
89 22
        return ! strpos($column, '.')
90
            ? $this->getSchemaName($model) . '.' . $column
91
            : $column;
92
    }
93
}
94