diff --git a/app/Models/Announcement.php b/app/Models/Announcement.php index a0e819c..2ff0ce9 100644 --- a/app/Models/Announcement.php +++ b/app/Models/Announcement.php @@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Swindon\FilamentHashids\Traits\HasHashid; @@ -36,7 +37,12 @@ protected function company(Builder $query): void $query->where('type', AnnouncementType::COMPANY); } - public function partnerMedia(): BelongsToMany + public function announcementMedias(): HasMany + { + return $this->hasMany(AnnouncementMedia::class); + } + + public function partnerMedias(): BelongsToMany { return $this->belongsToMany(PartnerMedia::class, 'announcement_media'); } diff --git a/app/Models/Classification.php b/app/Models/Classification.php index 203680c..84ba19a 100644 --- a/app/Models/Classification.php +++ b/app/Models/Classification.php @@ -46,4 +46,9 @@ public function contentRecaps(): HasMany { return $this->hasMany(ContentRecap::class); } + + public function issueManagements(): HasMany + { + return $this->hasMany(IssueManagement::class); + } } diff --git a/app/Models/Company.php b/app/Models/Company.php index 092b929..341b100 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -6,8 +6,8 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasManyThrough; -use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -26,23 +26,23 @@ protected function casts(): array ]; } - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - public function partnerMedia(): HasOne - { - return $this->hasOne(PartnerMedia::class); - } - public function journalists(): HasManyThrough { return $this->hasManyThrough(Journalist::class, PartnerMedia::class); } - public function verificationRequest(): HasOne + public function partnerMedias(): HasMany { - return $this->hasOne(VerificationRequest::class); + return $this->hasMany(PartnerMedia::class); + } + + public function user(): BelongsTo + { + return $this->belongsTo(User::class); + } + + public function verificationRequests(): HasMany + { + return $this->hasMany(VerificationRequest::class); } } diff --git a/app/Models/Cooperation.php b/app/Models/Cooperation.php index d7eaca0..b7137a7 100644 --- a/app/Models/Cooperation.php +++ b/app/Models/Cooperation.php @@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasManyThrough; -use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -63,30 +62,30 @@ protected function completed(Builder $query): void $query->where('status', CooperationStatus::COMPLETED); } - public function proposal(): HasOne - { - return $this->hasOne(CooperationProposal::class); - } - - public function taskAssignment(): HasOne - { - return $this->hasOne(TaskAssignment::class); - } - - public function cooperationMedia(): HasMany + public function cooperationMedias(): HasMany { return $this->hasMany(CooperationMedia::class); } - public function partnerMedia(): BelongsToMany + public function partnerMedias(): BelongsToMany { return $this->belongsToMany(PartnerMedia::class, 'cooperation_media') ->withPivot(['status']) ->withTimestamps(); } + public function proposals(): HasMany + { + return $this->hasMany(CooperationProposal::class); + } + public function reports(): HasManyThrough { return $this->hasManyThrough(Report::class, TaskAssignment::class); } + + public function taskAssignments(): HasMany + { + return $this->hasMany(TaskAssignment::class); + } } diff --git a/app/Models/CooperationMedia.php b/app/Models/CooperationMedia.php index 1958761..890be45 100644 --- a/app/Models/CooperationMedia.php +++ b/app/Models/CooperationMedia.php @@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; -use Illuminate\Database\Eloquent\Relations\HasOne; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\Pivot; use Spatie\MediaLibrary\HasMedia; @@ -57,13 +57,13 @@ public function partnerMedia(): BelongsTo return $this->belongsTo(PartnerMedia::class); } + public function payments(): HasMany + { + return $this->hasMany(CooperationPayment::class, 'cooperation_media_id'); + } + public function rejectionReasons(): MorphMany { return $this->morphMany(RejectionReason::class, 'rejectable'); } - - public function payment(): HasOne - { - return $this->hasOne(CooperationPayment::class, 'cooperation_media_id'); - } } diff --git a/app/Models/Location.php b/app/Models/Location.php index d3e2feb..d6d328c 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -23,6 +23,11 @@ protected function casts(): array ]; } + public function issueManagements(): HasMany + { + return $this->hasMany(IssueManagement::class); + } + public function subLocations(): HasMany { return $this->hasMany(SubLocation::class); diff --git a/app/Models/MediaMonitoring.php b/app/Models/MediaMonitoring.php index b118362..ea80986 100644 --- a/app/Models/MediaMonitoring.php +++ b/app/Models/MediaMonitoring.php @@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; -use Illuminate\Database\Eloquent\Relations\HasOne; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -17,13 +17,18 @@ class MediaMonitoring extends Model implements HasMedia protected $guarded = ['id']; - public function themes(): BelongsToMany + public function issueManagements(): HasMany { - return $this->belongsToMany(Theme::class); + return $this->hasMany(IssueManagement::class); } - public function issueManagement(): HasOne + public function mediaMonitoringThemes(): HasMany { - return $this->hasOne(IssueManagement::class); + return $this->hasMany(MediaMonitoringTheme::class); + } + + public function themes(): BelongsToMany + { + return $this->belongsToMany(Theme::class, 'media_monitoring_theme'); } } diff --git a/app/Models/PartnerMedia.php b/app/Models/PartnerMedia.php index 53656d4..7a530a1 100644 --- a/app/Models/PartnerMedia.php +++ b/app/Models/PartnerMedia.php @@ -83,14 +83,9 @@ protected function wherePivotPending(Builder $query): void $query->where('cooperation_media.status', ApprovalStatus::PENDING); } - public function company(): BelongsTo + public function announcementMedias(): HasMany { - return $this->belongsTo(Company::class); - } - - public function journalists(): HasMany - { - return $this->hasMany(Journalist::class); + return $this->hasMany(AnnouncementMedia::class); } public function announcements(): BelongsToMany @@ -98,18 +93,21 @@ public function announcements(): BelongsToMany return $this->belongsToMany(Announcement::class, 'announcement_media'); } + public function company(): BelongsTo + { + return $this->belongsTo(Company::class); + } + + public function cooperationMedias(): HasMany + { + return $this->hasMany(CooperationMedia::class); + } + 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') @@ -117,8 +115,20 @@ public function cooperations(): BelongsToMany ->withTimestamps(); } - public function cooperationMedias(): HasMany + public function journalists(): HasMany { - return $this->hasMany(CooperationMedia::class); + return $this->hasMany(Journalist::class); + } + + public function mediaTaskAssignments(): HasMany + { + return $this->hasMany(MediaTaskAssignment::class); + } + + public function taskAssignments(): BelongsToMany + { + return $this->belongsToMany(TaskAssignment::class, 'media_task_assignment') + ->withPivot(['status']) + ->withTimestamps(); } } diff --git a/app/Models/SubClassification.php b/app/Models/SubClassification.php index fab5205..747eb5c 100644 --- a/app/Models/SubClassification.php +++ b/app/Models/SubClassification.php @@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Swindon\FilamentHashids\Traits\HasHashid; @@ -41,4 +42,9 @@ public function classification(): BelongsTo { return $this->belongsTo(Classification::class); } + + public function issueManagements(): HasMany + { + return $this->hasMany(IssueManagement::class); + } } diff --git a/app/Models/SubLocation.php b/app/Models/SubLocation.php index c329ae1..dd0b117 100644 --- a/app/Models/SubLocation.php +++ b/app/Models/SubLocation.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Swindon\FilamentHashids\Traits\HasHashid; @@ -23,6 +24,11 @@ protected function casts(): array ]; } + public function issueManagements(): HasMany + { + return $this->hasMany(IssueManagement::class); + } + public function location(): BelongsTo { return $this->belongsTo(Location::class); diff --git a/app/Models/TaskAssignment.php b/app/Models/TaskAssignment.php index 500e030..d6100ee 100644 --- a/app/Models/TaskAssignment.php +++ b/app/Models/TaskAssignment.php @@ -44,7 +44,7 @@ public function mediaTaskAssignments(): HasMany return $this->hasMany(MediaTaskAssignment::class); } - public function partnerMedia(): BelongsToMany + public function partnerMedias(): BelongsToMany { return $this->belongsToMany(PartnerMedia::class, 'media_task_assignment') ->withPivot(['status']) diff --git a/app/Models/Theme.php b/app/Models/Theme.php index 817195f..53ea028 100644 --- a/app/Models/Theme.php +++ b/app/Models/Theme.php @@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Swindon\FilamentHashids\Traits\HasHashid; @@ -39,6 +40,11 @@ protected function inactive(Builder $query): void public function mediaMonitorings(): BelongsToMany { - return $this->belongsToMany(MediaMonitoring::class); + return $this->belongsToMany(MediaMonitoring::class, 'media_monitoring_theme'); + } + + public function mediaMonitoringThemes(): HasMany + { + return $this->hasMany(MediaMonitoringTheme::class); } }