/** * @param Note[] $notes * @return \nanodesu88\amocrm\models\Note[] */ public function getNotesElement(array $notes) { Note::fixArray($notes); $leadsId = []; $contactsId = []; foreach ($notes as $note) { if ($note->isContact()) { $contactsId[] = $note->element_id; } else { $leadsId[] = $note->element_id; } } $contacts = $this->getApi()->getContacts()->get(['id' => $contactsId]); $leads = $this->getApi()->getLeads()->get(['id' => $leadsId]); foreach ($notes as $note) { if ($note->isContact()) { $note->placeElement($contacts[$note->element_id]); } else { $note->placeElement($leads[$note->element_id]); } } Contact::fixArray($contacts); Lead::fixArray($leads); foreach ($contacts as $key => $contact) { $leads[$key] = $contact; } return $leads; }