private function processManufacturerChanges(Part $part, array $data) { if (array_key_exists("updates", $data)) { foreach ($data["updates"] as $record) { foreach ($part->getManufacturers() as $partManufacturer) { if ($partManufacturer->getId() == $record["id"]) { $partManufacturer->setPartNumber($record["partNumber"]); $partManufacturer->setManufacturer(Manufacturer::loadById($record["manufacturer_id"])); break; } } } } if (array_key_exists("removals", $data)) { foreach ($data["removals"] as $record) { foreach ($part->getManufacturers() as $partManufacturer) { if ($partManufacturer->getId() == $record["id"]) { PartKeepr::getEM()->remove($partManufacturer); $part->getManufacturers()->removeElement($partManufacturer); break; } } } } if (array_key_exists("inserts", $data)) { foreach ($data["inserts"] as $record) { $manufacturer = new PartManufacturer($part, Manufacturer::loadById($record["manufacturer_id"])); $manufacturer->setPartNumber($record["partNumber"]); $part->getManufacturers()->add($manufacturer); } } }