Media::getUrlAttribute()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 1
b 0
f 1
1
<?php
2
3
namespace App\Models;
4
5
use App\Traits\Hashidable;
6
use Spatie\Image\Image;
7
use Spatie\MediaLibrary\MediaCollections\Models\Media as Model;
8
9
/**
10
 * App\Models\Media.
11
 *
12
 * @property int $id
13
 * @property string $model_type
14
 * @property int $model_id
15
 * @property string|null $uuid
16
 * @property string $collection_name
17
 * @property string $name
18
 * @property string $file_name
19
 * @property string|null $mime_type
20
 * @property string $disk
21
 * @property string|null $conversions_disk
22
 * @property int $size
23
 * @property array $manipulations
24
 * @property array $custom_properties
25
 * @property array $generated_conversions
26
 * @property array $responsive_images
27
 * @property int|null $order_column
28
 * @property \Illuminate\Support\Carbon|null $created_at
29
 * @property \Illuminate\Support\Carbon|null $updated_at
30
 * @property-read string $dimensions
31
 * @property-read string $extension
32
 * @property-read string $hashed_id
33
 * @property-read string $human_readable_size
34
 * @property-read string $type
35
 * @property-read string $url
36
 * @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $model
37
 * @method static \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection|static[] all($columns = ['*'])
38
 * @method static \Illuminate\Database\Eloquent\Builder|Media findByHashedId(string $hashedId)
39
 * @method static \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection|static[] get($columns = ['*'])
40
 * @method static \Illuminate\Database\Eloquent\Builder|Media newModelQuery()
41
 * @method static \Illuminate\Database\Eloquent\Builder|Media newQuery()
42
 * @method static Builder|Media ordered()
43
 * @method static \Illuminate\Database\Eloquent\Builder|Media query()
44
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereCollectionName($value)
45
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereConversionsDisk($value)
46
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereCreatedAt($value)
47
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereCustomProperties($value)
48
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereDisk($value)
49
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereFileName($value)
50
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereGeneratedConversions($value)
51
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereId($value)
52
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereManipulations($value)
53
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereMimeType($value)
54
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereModelId($value)
55
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereModelType($value)
56
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereName($value)
57
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereOrderColumn($value)
58
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereResponsiveImages($value)
59
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereSize($value)
60
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereUpdatedAt($value)
61
 * @method static \Illuminate\Database\Eloquent\Builder|Media whereUuid($value)
62
 * @mixin \Eloquent
63
 */
64
class Media extends Model
65
{
66
    use Hashidable;
67
68
    /**
69
     * The accessors to append to the model's array form.
70
     *
71
     * @var array
72
     */
73
    protected $appends = ['hashed_id'];
74
75
    /**
76
     * ----------------------------------------------------------------- *
77
     * --------------------------- Relations --------------------------- *
78
     * ----------------------------------------------------------------- *.
79
     */
80
81
    /*
82
     * ----------------------------------------------------------------- *
83
     * --------------------------- Accessors --------------------------- *
84
     * ----------------------------------------------------------------- *
85
     */
86
87
    /**
88
     * Retrieve media url attribute.
89
     *
90
     * @return string
91
     */
92
    public function getUrlAttribute()
93
    {
94
        return $this->getUrl();
95
    }
96
97
    /**
98
     * Retrieve image dimensions attribute.
99
     *
100
     * @return string
101
     */
102
    public function getDimensionsAttribute()
103
    {
104
        return Image::load($this->getPath())->getWidth().'x'.Image::load($this->getPath())->getHeight();
105
    }
106
107
    /*
108
     * ----------------------------------------------------------------- *
109
     * ---------------------------- Mutators --------------------------- *
110
     * ----------------------------------------------------------------- *
111
     */
112
113
    /*
114
     * ----------------------------------------------------------------- *
115
     * ----------------------------- Scopes ---------------------------- *
116
     * ----------------------------------------------------------------- *
117
     */
118
119
    /*
120
     * ----------------------------------------------------------------- *
121
     * ------------------------------ Misc ----------------------------- *
122
     * ----------------------------------------------------------------- *
123
     */
124
    //
125
}
126