Refactor model relationships by converting multiple HasOne relationships to HasMany and pluralizing method names for consistency.
This commit is contained in:
parent
3f0529a53e
commit
a847b6e1fc
@ -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');
|
||||
}
|
||||
|
||||
@ -46,4 +46,9 @@ public function contentRecaps(): HasMany
|
||||
{
|
||||
return $this->hasMany(ContentRecap::class);
|
||||
}
|
||||
|
||||
public function issueManagements(): HasMany
|
||||
{
|
||||
return $this->hasMany(IssueManagement::class);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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'])
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user