示例#1
0
 /**
  * Process mapped columns to check for matched record by column
  * @param ImportRules $importRules
  * @param RedBeanModel $model
  * @param array $mappingData
  * @param RedBean_OODBBean $rowBean
  * @param ImportSanitizeResultsUtil $importSanitizeResultsUtil
  * @param array $skippedColumns
  */
 protected static function processDedupeAttributesToCheckForSkipIfRequired(ImportRules $importRules, RedBeanModel $model, $mappingData, $rowBean, ImportRowDataResultsUtil $importRowDataResultsUtil, ImportSanitizeResultsUtil $importSanitizeResultsUtil, &$skippedColumns)
 {
     assert('$rowBean instanceof RedBean_OODBBean');
     $isSkipped = false;
     //Process the dedupe fields
     foreach ($importRules->getDedupeAttributes() as $dedupeField) {
         $sourceColumnName = static::getMappedColumnNameByMappingData($dedupeField, $mappingData);
         if (false !== $sourceColumnName) {
             $columnMappingData = $mappingData[$sourceColumnName];
             $attributeValueData = static::getAttributeValueData($importRules, $sourceColumnName, $columnMappingData, $rowBean, $importSanitizeResultsUtil);
             if (!$importSanitizeResultsUtil->shouldSaveModel()) {
                 $importRowDataResultsUtil->addMessages($importSanitizeResultsUtil->getMessages());
                 $importRowDataResultsUtil->setStatusToError();
                 $isSkipped = true;
             }
             $skippedColumns[] = $sourceColumnName;
         }
     }
     return $isSkipped;
 }