protected function addProductTrack(ProductTrack $productTrack) { $this->ids[$productTrack->getProductTrackId()] = $productTrack; if (!array_key_exists($productTrack->getProductId(), $this->productIds)) { $this->productIds[$productTrack->getProductId()] = array(); } $this->productIds[$productTrack->getProductId()][] = $productTrack; }
protected function handleProductTrack(Product $product, ProductTrack $productTrack) { $track = $this->trackRepository->getById($productTrack->getTrackId()); if ($track) { $product->addProductTrack($productTrack); $productTrack->setProduct($product); $productTrack->setTrack($track); $track->addProductTrack($productTrack); } else { // throw inconsistency exception $this->missingTracks++; } }