/** * Filters the item to keep only association related fields * * @param array $item * * @return array */ protected function filter(array $item) { $expectedFields = [$this->attrColumnsResolver->resolveIdentifierField(), 'associations']; foreach (array_keys($item) as $fieldName) { if (!in_array($fieldName, $expectedFields)) { unset($item[$fieldName]); } } return $item; }
/** * Filters the item to keep only association related fields * * @param array $item * * @return array */ protected function filter(array $item) { $requiredFields = $this->assocColumnsResolver->resolveAssociationColumns(); $requiredFields[] = $this->attrColumnsResolver->resolveIdentifierField(); foreach (array_keys($item) as $fieldName) { if (!in_array($fieldName, $requiredFields)) { unset($item[$fieldName]); } } return $item; }
/** * @param array $item * @param bool $withRequiredSku * * @throws ArrayConversionException */ protected function validateItem(array $item, $withRequiredSku) { $requiredFields = $withRequiredSku ? [$this->attrColumnsResolver->resolveIdentifierField()] : []; $this->validateRequiredFields($item, $requiredFields); $this->validateOptionalFields($item); $this->validateFieldValueTypes($item); }