home
/
forge
/
roadtovirtuosity.com
/
app
/
Models
➕ New
📤 Upload
✎ Editing:
Submission.php
← Back
<?php namespace App\Models; use App\Models\User; use App\Models\Piece; use App\Models\UserPoint; use App\Models\Certificate; use App\Models\Competition; use App\Models\SubmissionReview; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Factories\HasFactory; class Submission extends Model { use HasFactory; protected $guarded = []; public function piece() { return $this->belongsTo(Piece::class, 'piece_id'); } public function instrument() { return $this->belongsTo(Instrument::class, 'instrument_id'); } public function user() { return $this->belongsTo(User::class, 'user_id'); } public function userPoints(): MorphMany { return $this->morphMany(UserPoint::class, 'model'); } public function submissionReview() { return $this->hasMany(SubmissionReview::class); } public function certificate() { return $this->belongsTo(Certificate::class, 'certificate_id'); } public function certificateFiles() { return $this->hasOne(CertificateFile::class, 'certificate_id', 'certificate_id') ->where('user_id', $this->user_id); } public function competition() { return $this->belongsTo(Competition::class, 'competition_id'); } public function updateEvaluatedName() { $teacherId = AssignedTeacher::where('student_id', $this->user_id)->pluck('teacher_id')->first(); $this->evaluated_name = $teacherId ? $teacherId : 1; $this->save(); } public function getPiecePointAttribute() { if (!$this->instrument_id || !$this->piece_id) { return null; } $pivot = $this->instrument ->pieces() ->where('pieces.id', $this->piece_id) ->first(); return $pivot?->pivot?->point; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel