Collection::scopeWhereCollectable()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
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