hasOneThrough( \App\Models\User::class, // model tujuan \App\Models\Company::class, // model perantara 'id', // foreign key di Company (nyambung ke Media) 'id', // foreign key di User (nyambung ke Company) 'company_id', // foreign key di Media 'user_id' // foreign key di Company ); } public function company() { return $this->belongsTo(Company::class, 'company_id', 'id')->withTrashed(); } public function journalists() { return $this->hasMany(Journalist::class, 'media_id', 'id')->withTrashed(); } public function cooperations() { return $this->belongsToMany(Cooperation::class, 'media_cooperations', 'media_id', 'cooperation_id') ->using(MediaCooperation::class) ->withPivot(['status', 'rejection_reason']) ->withTimestamps(); } public function orders() { return $this->belongsToMany(Order::class, 'media_orders', 'media_id', 'order_id') ->using(MediaOrder::class) ->withPivot(['status', 'rejection_reason']) ->withTimestamps(); } public function reports() { return $this->hasMany(Report::class, 'media_id', 'id'); } public function completions() { return $this->hasMany(CooperationCompletion::class, 'order_id', 'id'); } }