refactor: update several relationship methods from HasMany to HasOne and singularize relationship names.

This commit is contained in:
Yoga Pangestu 2026-01-28 09:01:00 +07:00
parent 9c9d13368b
commit e5fc61abc3

View File

@ -8,8 +8,8 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough; use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
@ -62,21 +62,21 @@ protected function completed(Builder $query): void
$query->where('status', CooperationStatus::COMPLETED); $query->where('status', CooperationStatus::COMPLETED);
} }
public function cooperationMedias(): HasMany public function cooperationMedia(): HasOne
{ {
return $this->hasMany(CooperationMedia::class); return $this->hasOne(CooperationMedia::class);
} }
public function partnerMedias(): BelongsToMany public function partnerMedia(): BelongsToMany
{ {
return $this->belongsToMany(PartnerMedia::class, 'cooperation_media') return $this->belongsToMany(PartnerMedia::class, 'cooperation_media')
->withPivot(['status']) ->withPivot(['status'])
->withTimestamps(); ->withTimestamps();
} }
public function proposals(): HasMany public function proposal(): HasOne
{ {
return $this->hasMany(CooperationProposal::class); return $this->hasOne(CooperationProposal::class);
} }
public function reports(): HasManyThrough public function reports(): HasManyThrough
@ -84,8 +84,8 @@ public function reports(): HasManyThrough
return $this->hasManyThrough(Report::class, TaskAssignment::class); return $this->hasManyThrough(Report::class, TaskAssignment::class);
} }
public function taskAssignments(): HasMany public function taskAssignment(): HasOne
{ {
return $this->hasMany(TaskAssignment::class); return $this->hasOne(TaskAssignment::class);
} }
} }