protected function EntityFetchByField::doExecute in Rules 8.3
Executes the action with the given context.
Parameters
string $type: The entity type id.
string $field_name: Name of the field by which the entity is to be selected.
mixed $field_value: The field value of the entity to be fetched.
int $limit: Limit on the maximum number of fetched entities.
File
- src/Plugin/ RulesAction/ EntityFetchByField.php, line 106 
Class
- EntityFetchByField
- Provides a 'Fetch entities by field' action.
Namespace
Drupal\rules\Plugin\RulesActionCode
protected function doExecute($type, $field_name, $field_value, $limit = NULL) {
  $storage = $this->entityTypeManager
    ->getStorage($type);
  // When retrieving entities, if $limit is not set there is no need to use
  // the query object directly.
  if (is_null($limit)) {
    $entities = $storage
      ->loadByProperties([
      $field_name => $field_value,
    ]);
  }
  else {
    $query = $storage
      ->getQuery();
    $entity_ids = $query
      ->condition($field_name, $field_value, '=')
      ->range(0, $limit)
      ->execute();
    $entities = $storage
      ->loadMultiple($entity_ids);
  }
  // Set provided value.
  // @todo Ensure that the provided context has the correct entity type.
  $this
    ->setProvidedValue('entity_fetched', $entities);
}