One Hat Cyber Team
Your IP :
3.131.38.100
Server IP :
50.28.103.30
Server :
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software :
nginx/1.24.0
PHP Version :
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
food.electronharmony.com
/
app
/
Models
/
Edit File:
Item.php
<?php namespace App\Models; use Carbon\Carbon; use App\Enums\Status; use Spatie\MediaLibrary\HasMedia; use Illuminate\Database\Eloquent\Model; use Spatie\MediaLibrary\InteractsWithMedia; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Factories\HasFactory; use Spatie\MediaLibrary\MediaCollections\Models\Media; class Item extends Model implements HasMedia { use HasFactory, InteractsWithMedia, SoftDeletes; protected $table = "items"; protected $fillable = [ 'name', 'item_category_id', 'slug', 'tax_id', 'item_type', 'price', 'is_featured', 'description', 'caution', 'status', 'order', ]; protected $dates = ['deleted_at']; protected $casts = [ 'id' => 'integer', 'name' => 'string', 'item_category_id' => 'integer', 'slug' => 'string', 'tax_id' => 'integer', 'item_type' => 'integer', 'price' => 'decimal:6', 'is_featured' => 'integer', 'description' => 'string', 'caution' => 'string', 'status' => 'integer', 'order' => 'integer', ]; public function getThumbAttribute(): string { if (!empty($this->getFirstMediaUrl('item'))) { $item = $this->getMedia('item')->last(); return $item->getUrl('thumb'); } return asset('images/item/thumb.png'); } public function getCoverAttribute(): string { if (!empty($this->getFirstMediaUrl('item'))) { $item = $this->getMedia('item')->last(); return $item->getUrl('cover'); } return asset('images/item/cover.png'); } public function getPreviewAttribute(): string { if (!empty($this->getFirstMediaUrl('item'))) { $item = $this->getMedia('item')->last(); return $item->getUrl('preview'); } return asset('images/item/cover.png'); } public function registerMediaConversions(Media $media = null): void { $this->addMediaConversion('thumb')->crop('crop-center', 168, 180)->keepOriginalImageFormat()->sharpen(10); $this->addMediaConversion('cover')->crop('crop-center', 390, 270)->keepOriginalImageFormat()->sharpen(10); $this->addMediaConversion('preview')->width(600)->keepOriginalImageFormat()->sharpen(10); } public function variations(): \Illuminate\Database\Eloquent\Relations\HasMany { return $this->hasMany(ItemVariation::class)->with('itemAttribute')->where(['status' => Status::ACTIVE]); } public function extras(): \Illuminate\Database\Eloquent\Relations\HasMany { return $this->hasMany(ItemExtra::class)->where(['status' => Status::ACTIVE]); } public function addons(): \Illuminate\Database\Eloquent\Relations\HasMany { return $this->hasMany(ItemAddon::class); } public function category(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(ItemCategory::class, 'item_category_id', 'id'); } public function tax(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(Tax::class); } public function orders(): \Illuminate\Database\Eloquent\Relations\HasMany { return $this->hasMany(OrderItem::class, 'item_id', 'id'); } public function offer(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Offer::class, 'offer_items'); } }
Simpan