Files
api-extranetwork/app/Models/PropertyPhoto.php
ExtraNetwork e5c4b6aa13 first commit
2026-05-12 17:04:54 +03:00

70 lines
2.5 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\File;
class PropertyPhoto extends BaseModel
{
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'property_photo';
protected $appends = ['photoUrl'];
const CREATED_AT = 'created_at';
const UPDATED_AT = 'updated_at';
protected $dateFormat = 'U';
protected $guarded = [];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [];
public function getPhotoUrlAttribute()
{
$photoUrlFilePath = Config::get('app.fileSystemDriver') . '/property-photos/' . $this->property_id . '/' . $this->photo_name . '_1024x768.' . $this->file_ext;
$photoUrlThumbFilePath = Config::get('app.fileSystemDriver') . '/property-photos/' . $this->property_id . '/' . $this->photo_name . '_200x200.' . $this->file_ext;
if (File::exists($photoUrlFilePath)) {
$photoUrlFilePath = Config::get('app.imageUrl') . '/property-photos/' . $this->property_id . '/' . $this->photo_name .'_1024x768.' . $this->file_ext;
}else {
$photoUrlFilePath = Config::get('app.imageUrl') . '/property-photos/' . $this->property_id . '/' . $this->photo_name .'_medium.' . $this->file_ext;
}
if (File::exists($photoUrlThumbFilePath)) {
$photoUrlThumbFilePath = Config::get('app.imageUrl') . '/property-photos/' . $this->property_id . '/' . $this->photo_name .'_200x200.'. $this->file_ext;
}else {
$photoUrlThumbFilePath = Config::get('app.imageUrl') . '/property-photos/' . $this->property_id . '/' . $this->photo_name .'_thumbnail.'. $this->file_ext;
}
$photoTypes = [
'default' => Config::get('app.imageUrl') . '/property-photos/' . $this->property_id . '/' . $this->photo_name . '.' . $this->file_ext,
'thumb' => $photoUrlThumbFilePath,
'fixed' => $photoUrlFilePath,
];
return $photoTypes;
}
// Config::get('app.imageUrl') . '/property-photos/' . $params['property_id'] . '/' .$value['property_photo']['photo_name'] . '.' . $value['property_photo']['file_ext']
public function propertyRooms()
{
return $this->hasMany('App\Models\PropertyRoomPhotoMapping', 'photo_id', 'id');
}
public function propertyPlaces()
{
return $this->hasMany('App\Models\PropertyPlacePhotoMapping', 'photo_id', 'id');
}
}