Code snippet that can be used to load programmatically webform submissions in Drupal 8.
$webform = \Drupal\webform\Entity\Webform::load('WEBFORM_ID');
if ($webform->hasSubmissions()) {
$query = \Drupal::entityQuery('webform_submission')
->condition('webform_id', 'WEBFORM_ID');
$result = $query->execute();
$submission_data = [];
foreach ($result as $item) {
$submission = \Drupal\webform\Entity\WebformSubmission::load($item);
$submission_data = $submission->getData();
}
}
if Entity query of webform submissions returns no results try to add accessCheck(FALSE) to the query like this
$query->accessCheck(FALSE)->execute();
Comments
This doesn't work in a custom module
just add ->accessCheck(FALSE…
just add
->accessCheck(FALSE);
to your query like this example:Add date filter
@Akhil here is an example…
@Akhil here is an example how to add conditions with created field:
How to check only date
@GaneshC the same way, just…
@GaneshC the same way, just simply convert the date to strtotime.