⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.52
Server IP:
95.217.99.93
Server:
Linux sv1.sonichosted.com 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
lifestylescentra
/
public_html
/
app
/
Models
/
Edit File: Workout.php
'array', 'images' => 'array', 'videos' => 'array', ]; protected $appends = ['name', 'short_description', 'description']; public function category() { return $this->belongsTo(WorkoutCategory::class, 'category_id'); } public function CreatedBy() { return $this->belongsTo(Admin::class, 'created_by'); } public function UpdatedBy() { return $this->belongsTo(Admin::class, 'updated_by'); } public function getToolsAttributes() { $tools = Tool::whereIn('id', $this->tool_id)->get(); return $tools; } public function members() { return $this->belongsToMany(Member::class, 'member_workouts', 'workout_id', 'member_id')->withPivot('status', 'created_by', 'updated_by'); } public function translations() { return $this->hasMany(WorkoutTranslation::class, 'workout_id'); } public function translation() { return $this->hasOne(WorkoutTranslation::class, 'workout_id')->where('lang_code', getSessionLanguage()); } public function getTranslation($code) { return $this->hasOne(WorkoutTranslation::class)->where('lang_code', $code)->first(); } public function getNameAttribute() { return $this->translation?->name; } public function getShortDescriptionAttribute() { return $this->translation?->short_description; } public function getDescriptionAttribute() { return $this->translation?->description; } public function trainers() { return $this->belongsToMany(Trainer::class, 'workout_trainers', 'workout_id', 'trainer_id'); } public function enrollments() { return $this->hasMany(WorkoutEnrollment::class, 'workout_id'); } // available seats public function getAvailableSeatsAttribute() { // total enrolled members $totalEnrolled = $this->enrollments()->whereDate('created_at', '>=', $this->enroll_start)->count(); return $this->capacity - $totalEnrolled; } public function getImageArrayAttribute(): ?array { if ($this->images) { $images = $this->images[0]; if ($images) { return explode(',', $images); } return $images; } return []; } public function getImageUrlAttribute(): ?array { $images = Media::whereIn('id', $this->imageArray ?? [])->get(); if ($images) { $images = $images->pluck('path')->toArray(); } return $images; } }
Simpan