Collection   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 34
ccs 2
cts 4
cp 0.5
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A collectable() 0 3 1
A scopeWhereCollectable() 0 3 1
1
<?php
2
3
namespace Vetor\Laravel\Collect\Collection\Models;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Illuminate\Database\Eloquent\Builder;
7
use Illuminate\Database\Eloquent\SoftDeletes;
8
use Vetor\Contracts\Collect\Collection\Models\Collection as CollectionContract;
9
10
class Collection extends Model implements CollectionContract
11
{
12
    use SoftDeletes;
13
14
    /**
15
     * @var string
16
     */
17
    protected $table = 'collections';
18
19
    /**
20
     * @var array
21
     */
22
    protected $fillable = [
23
        'collectable_id',
24
        'collectable_type',
25
        'user_id',
26
    ];
27
28
    /**
29
     * @return \Illuminate\Database\Eloquent\Relations\MorphTo
30
     */
31
    public function collectable()
32
    {
33
        return $this->morphTo();
34
    }
35
36
    /**
37
     * @param \Illuminate\Database\Eloquent\Builder $query
38
     * @param \Vetor\Contracts\Collect\Collectable\Models\Collectable $collectable
39
     * @return mixed
40
     */
41 1
    public function scopeWhereCollectable(Builder $query, $collectableClass)
42
    {
43 1
        return $query->where('collectable_type', (new $collectableClass)->getMorphClass());
44
    }
45
}
46