function UniqueFieldValueValidator::extractDuplicates
Get an array of duplicate field values.
Parameters
array $item_values: The item values.
Return value
array Item values only for deltas that duplicate an earlier delta.
1 call to UniqueFieldValueValidator::extractDuplicates()
- UniqueFieldValueValidator::validate in core/
lib/ Drupal/ Core/ Validation/ Plugin/ Validation/ Constraint/ UniqueFieldValueValidator.php  
File
- 
              core/
lib/ Drupal/ Core/ Validation/ Plugin/ Validation/ Constraint/ UniqueFieldValueValidator.php, line 155  
Class
- UniqueFieldValueValidator
 - Validates that a field is unique for the given entity type.
 
Namespace
Drupal\Core\Validation\Plugin\Validation\ConstraintCode
private function extractDuplicates(array $item_values) : array {
  $value_frequency = array_count_values($item_values);
  // Filter out item values which are not duplicates while preserving deltas
  $duplicate_values = array_intersect($item_values, array_keys(array_filter($value_frequency, function ($value) {
    return $value > 1;
  })));
  // Exclude the first delta of each duplicate value.
  $first_deltas = array_unique($duplicate_values);
  return array_diff_key($duplicate_values, $first_deltas);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.