/** * Sets an array of products, representing related products * in a delivery as relatedXxx_# API fields * * @param Bronto_Api_Delivery_Row $delivery * @param array $productHash * @param int $storeId * @return void */ public function setRelatedFields($delivery, $productHash, $storeId = null) { $currentData = $delivery->getData(); if (empty($currentData['fields'])) { $currentData['fields'] = array(); } foreach ($this->relatedFields($productHash, $storeId) as $fields) { $currentData['fields'] = array_merge($currentData['fields'], $fields); } // By passing the setField call on the API is far more efficient $delivery->setData($currentData); }