hasManyThrough( Deal::class , DealClients::class , '' , 'id' , 'id' , 'deal_id' ); } public function dealsWithContracts() { return $this->hasManyThrough(Deal::class, DealClients::class)->whereHas('contracts'); } public function ofAgent(Agent $agent) { return $this->deals->where('agent_id', $agent->id); } public function create() { } }