belongsTo(Media::class, 'media_id', 'id'); } public function cooperation(){ return $this->belongsTo(Cooperation::class, 'cooperation_id', 'id'); } public function journalists() { return $this->belongsToMany(Journalist::class, 'journalists_cooperation_proposals', 'cooperation_proposal_id', 'journalist_id') ->using(JournalistCooperationProposal::class) ->withTimestamps(); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logOnly([ 'attachment', 'status', 'e_catalog', 'description', 'rejection_reason', 'cooperation_id', 'media_id', ]) ->useLogName('cooperation_proposal') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan } public function getDescriptionForEvent(string $eventName): string { switch($eventName){ case 'created': $eventName = 'dibuat'; break; case 'updated': $eventName = 'diubah'; break; case 'deleted': $eventName = 'dihapus'; break; } return "Pengajuan kerja sama telah {$eventName}"; } }