'date', 'end_date' => 'date', 'report_amount' => 'integer', 'cooperation_id' => 'integer', ]; } public function cooperation(): BelongsTo { return $this->belongsTo(Cooperation::class); } public function mediaTaskAssignments(): HasMany { return $this->hasMany(MediaTaskAssignment::class); } public function partnerMedia(): BelongsToMany { return $this->belongsToMany(PartnerMedia::class, 'media_task_assignment') ->using(MediaTaskAssignment::class) ->withPivot(['status']) ->withTimestamps(); } public function rejectionReasons(): MorphMany { return $this->morphMany(RejectionReason::class, 'rejectable'); } public function reports(): HasManyThrough { return $this->hasManyThrough( Report::class, MediaTaskAssignment::class, 'task_assignment_id', 'media_task_assignment_id', 'id', 'id' ); } }