// SYSTEM PANEL //
[ROOT]
/
mnt
/
pleskStorage
/
vhosts
/
kodsolutions.net
/
subdomains
/
syaaraa.kodsolutions.net
/
app
/
Models
/
Property
[ PARENT ]
EDIT :: Property.php
<?php namespace App\Models\Property; use App\Models\Model; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\Translatable\HasTranslations; class Property extends Model implements HasMedia { use HasFactory; use HasTranslations; use InteractsWithMedia; public $appends = ['image_path', 'url']; public $translatable = [ 'title', 'description', 'keywords', 'tags', 'sub_title', 'address' ]; protected $fillable = [ 'title', 'slug', 'image', 'type_id', 'category_id', 'city_id', 'area_id', 'position', 'active', 'description', 'keywords', 'tags', 'sub_title', 'date', 'writer', 'user_id', 'office_id', 'price', 'discount', 'code', 'special_price', 'address', 'latitude', 'longitude', 'map_link', 'no_rooms', 'no_bedrooms', 'no_bathrooms', 'area', //in sq ft 'featured', 'in_home', 'no_views', 'expired_at', 'sponsored', 'payment_method', 'the_view', 'status_id' ]; public function category(): BelongsTo { return $this->belongsTo(Category::class, 'category_id'); } public function status(): BelongsTo { return $this->belongsTo(Category::class, 'status_id'); } public function owner(): BelongsTo { return $this->belongsTo(\App\Models\User::class, 'user_id'); } public function type(): BelongsTo { return $this->belongsTo(Category::class, 'type_id'); } public function city(): BelongsTo { return $this->belongsTo(\App\Models\City::class, 'city_id'); } public function getUrlAttribute() { return route('website.properties.show', [ 'locale' => app()->getLocale(), 'code' => $this->code, 'slug' => $this->slug ]); } public function getPriceAfterAttribute() { return $this->price - ($this->discount > 0 ? round($this->price * $this->discount / 100, 2) : 0); } public function getImagesAttribute() { $images = []; $files = $this->getMedia('document'); if (!empty($files)) { foreach ($files as $file) { array_push($images, $file->getFullUrl()); } } return $images; } }
SAVE
CANCEL