/** * Asks association mappings informations. * * @param InputInterface $input * @param OutputInterface $output * @param ClassMetadata $metadata * * @return array */ public function askAssociationMappings(GeneratorStyle $io, ClassMetadata $metadata) { // Display step description $io->section('Association definitions'); $io->text('You can add some associations now.'); // Ask all already mapped associations for edition foreach ($metadata->associationMappings as $associationName => $mapping) { $mapping = $this->askAssociationMapping($associationName); $metadata->overrideAssociation($mapping); } // Recursively ask new association mappings while (null !== ($mapping = $this->askAssociationMapping($io, $metadata))) { // Map association to metadata $metadata->mapAssociation($mapping); } return $this; }