Entity Type Manager: How to retrieve webform entries with webform_submission_data conditions I would like to get the webform entries submitted by a user with a particular webform_submission_data field value. E.g. field_account_type = "normal"

How can I supply such a condition?

$submission_storage = \Drupal::entityTypeManager()-&gt;getStorage('webform_submission');
$submissions = $submission_storage-&gt;loadByProperties([
  'webform_id' =&gt; 'my_form_id', 
  'uid' =&gt; $uid,
  'field_account_type' =&gt; 'normal' // Not found exception!
]);
Don't think you can query webform fields like entity fields, but it should be possible in an SQL select query:

$submission_storage = \Drupal::entityTypeManager()-&gt;getStorage('webform_submission');

$query = \Drupal::database()-&gt;select('webform_submission_data')
  -&gt;fields('webform_submission_data', ['sid'])
  -&gt;condition('webform_id', 'my_form_id')
  -&gt;condition('name', 'field_account_type')
  -&gt;condition('value', 'normal')
  -&gt;distinct();

$ids = $query-&gt;execute()-&gt;fetchCol();

$submissions = $submission_storage-&gt;loadMultiple($ids);


If you want to query the uid from the main table too, join both tables:

$submission_storage = \Drupal::entityTypeManager()-&gt;getStorage('webform_submission');

$query = \Drupal::database()-&gt;select('webform_submission_data', 'd');
$query-&gt;join('webform_submission', 's', 'd.sid = s.sid');
$query-&gt;fields('d', ['sid'])
  -&gt;condition('d.webform_id', 'my_form_id')
  -&gt;condition('s.uid', $uid)
  -&gt;condition('d.name', 'field_account_type')
  -&gt;condition('d.value', 'normal')
  -&gt;distinct();

$ids = $query-&gt;execute()-&gt;fetchCol();

$submissions = $submission_storage-&gt;loadMultiple($ids);