it-swarm.com.de

Holen Sie sich alle Einsendungen von einem bestimmten Webformular

Ich versuche, Webformularübermittlungen von einem bestimmten Webformular zu laden sign_up.

Mit Webform-Übermittlungen abfragen erhalte ich alle zugehörigen IDs und kann die Daten mit laden

$query = \Drupal::entityQuery('webform_submission')
  ->condition('webform_id', 'sign_up');
$result = $query->execute(); // Gives me IDs associated with the "sign_up" webform.

$storage = \Drupal::entityTypeManager()->getStorage('webform_submission');
$submissions = $storage->loadMultiple($result);
$submission_data = array();
foreach ($submissions as $submission) {
  $submission_data[] = $submission->getData();
}
// $submission_data now contains all the submissions from "sign_up" webform.

Ist dies der richtige Weg, um die Einsendungen zu erhalten? Ich würde denken, dass Webform mit einer Art API geliefert wird, um die Übermittlungsergebnisse abzufragen.

Ich habe auch versucht: https://www.drupal.org/project/webform/issues/2902682 aber am Ende ein leeres Array.

3
Ronnie

Das Webform-Modul speichert Übermittlungsdaten mithilfe eines benutzerdefinierten Entity-Attribute-Value-Modells . Ihr Beispielcode ist der einfachste und schnellste Weg, um alle Übermittlungsdaten abzurufen. Die einzige Einschränkung wäre die Anzahl der Einsendungen gegenüber dem Speicherlimit von PHP. Sie werden keinen Speicher mehr haben, wenn Sie 1000 Einsendungen laden

4
jrockowitz