public function create($data) { $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $supplier = new Supplier(); $supplier->setSupplierName($data['supplier_name']); $em->persist($supplier); foreach ($data['addresses'] as $address) { $newAddress = new Address(); $newAddress->setAddress_line_1($address['address_line_1']); $newAddress->setAddress_line_2($address['address_line_2']); $newAddress->setEmail($address['email']); $newAddress->setPost_code($address['post_code']); $newAddress->setFax($address['fax']); $newAddress->setTelephone($address['telephone']); $newAddress->setTown($address['town']); $supplier->getAddresses()->add($newAddress); $em->persist($newAddress); } $em->flush(); return new JsonModel(array('data' => $supplier->getId())); }