⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
hospital.dev-unit.com
/
app
/
Models
/
View File Name :
Postal.php
<?php namespace App\Models; use App\Traits\PopulateTenantID; use Illuminate\Database\Eloquent\Model; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Stancl\Tenancy\Database\Concerns\BelongsToTenant; /** * Class Postal * * @property int $id * @property string|null $from_title * @property string|null $to_title * @property string|null $reference_no * @property string|null $date * @property string|null $address * @property int|null $type * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property-read mixed $document_url * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection|Media[] $media * @property-read int|null $media_count * * @method static \Illuminate\Database\Eloquent\Builder|Postal newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Postal newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Postal query() * @method static \Illuminate\Database\Eloquent\Builder|Postal whereAddress($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereDate($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereFromTitle($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereReferenceNo($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereToTitle($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereType($value) * @method static \Illuminate\Database\Eloquent\Builder|Postal whereUpdatedAt($value) * * @mixin \Eloquent */ class Postal extends Model implements HasMedia { use BelongsToTenant, InteractsWithMedia, PopulateTenantID; protected $table = 'postals'; const PATH = 'postal'; const POSTAL_RECEIVE = 1; const POSTAL_DISPATCH = 2; /** * @var string[] */ public $fillable = [ 'from_title', 'to_title', 'reference_no', 'date', 'address', 'type', ]; /** * Validation rules * * @var array */ public static $rules = [ 'from_title' => 'required_if:type,==,'.self::POSTAL_RECEIVE, 'to_title' => 'required_if:type,==,'.self::POSTAL_DISPATCH, 'attachment' => 'mimes:jpeg,png,jpg,gif,webp', ]; /** * @var array */ protected $appends = ['document_url']; protected function casts(): array { return [ 'from_title' => 'string', 'to_title' => 'string', 'reference_no' => 'string', 'date' => 'date', 'address' => 'string', 'type' => 'integer', ]; } /** * @return mixed */ public function getDocumentUrlAttribute() { /** * @var Media $media */ $media = $this->media->first(); if (! empty($media)) { return $media->getFullUrl(); } return ''; } }