/**
  * @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;
 }
Пример #2
0
 /**
  * @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');
 }