/** * @param array $relationBackendHeaders * @param bool $isSingleRelation * @param bool $isMultipleRelation * @param string $entityName * @param string $fieldName * @param int $fieldOrder * @return array */ protected function buildBackendHeaders(array $relationBackendHeaders, $isSingleRelation, $isMultipleRelation, $entityName, $fieldName, $fieldOrder) { $subOrder = 0; $delimiter = $this->convertDelimiter; $backendHeaders = []; // single relation if ($isSingleRelation) { foreach ($relationBackendHeaders as $header) { $backendHeaders[] = ['value' => $fieldName . $delimiter . $header, 'order' => $fieldOrder, 'subOrder' => $subOrder++]; } } elseif ($isMultipleRelation) { // multiple relation $maxEntities = $this->relationCalculator->getMaxRelatedEntities($entityName, $fieldName); for ($i = 0; $i < $maxEntities; $i++) { foreach ($relationBackendHeaders as $header) { $backendHeaders[] = ['value' => $fieldName . $delimiter . $i . $delimiter . $header, 'order' => $fieldOrder, 'subOrder' => $subOrder++]; } } } return $backendHeaders; }
/** * @expectedException \Oro\Bundle\ImportExportBundle\Exception\LogicException * @expectedExceptionMessage Oro\Bundle\UserBundle\Entity\User:username is not multiple relation field */ public function testGetMaxRelatedEntitiesException() { $this->relationCalculator->getMaxRelatedEntities('Oro\\Bundle\\UserBundle\\Entity\\User', 'username'); }