MediaType::class, 'classification' => MediaClassification::class, 'status' => VerificationStatus::class, ]; } #[Scope] protected function verified(Builder $query): void { $query->whereHas('company.verificationRequest', function ($q) { $q->where('status', VerificationStatus::APPROVED); }); } public function company(): BelongsTo { return $this->belongsTo(Company::class); } public function journalists(): HasMany { return $this->hasMany(Journalist::class); } public function announcements(): BelongsToMany { return $this->belongsToMany(Announcement::class, 'announcement_media'); } public function cooperationProposals(): HasMany { return $this->hasMany(CooperationProposal::class); } public function taskAssignments(): BelongsToMany { return $this->belongsToMany(TaskAssignment::class, 'task_assignment_media') ->withPivot(['status']) ->withTimestamps(); } public function cooperations(): BelongsToMany { return $this->belongsToMany(Cooperation::class, 'cooperation_media') ->withPivot(['status']) ->withTimestamps(); } public function cooperationMedias(): HasMany { return $this->hasMany(CooperationMedia::class); } }