addMediaConversion('cat-thumb') ->width($size[0]) ->height($size[1]) ->crop(Manipulations::CROP_CENTER, $size[0], $size[1]) ->optimize() ->sharpen(10); if (isset($_FILES['image'])) { $this->addMediaFromRequest('image')->preservingOriginal(); } } public function thumbUrl() { if ($this->getMedia()->count() > 0) { return $this->getMedia()->first()->getUrl('cat-thumb'); } else { return asset('/images/logo.png'); } } public function imgurl() { if ($this->getMedia()->count() > 0) { return $this->getMedia()->last()->getUrl(); } else { return asset('/images/logo.png'); } } public function products() { return $this->belongsToMany(Product::class); } public function active_products() { return $this->belongsToMany(Product::class)->where('active', 1); } public function backUrl() { if ($this->image == null) { return null; } return \Storage::url('cats/' . $this->image); } // public function parent() { return $this->belongsTo(Cat::class, 'parent_id'); } public function children() { return $this->hasMany(Cat::class, 'parent_id'); } public function getRouteKeyName() { return 'slug'; } public function props() { return $this->belongsToMany(Prop::class); } }