web-dev-qa-db-ja.com

Webフォーム送信のクエリ

特定のユーザーによって送信されたすべての送信を表示できるように、Webフォームの送信に対してクエリを実行しようとしています。ただし、このクエリの作成方法はわかりません。 Webフォームの送信自体がノードであると推測し、このようなクエリを実行しました

    $query = \Drupal::entityQuery('node')
        ->condition('type', 'webform');
    $nids = $query->execute();
    die(print_r($nids));

しかし、結果は出ませんでした。特定のユーザーが作成したすべての送信を選択できるように、Webフォームの送信に対してクエリを実行する方法はありますか?

更新:webformモジュールを調べたところ、送信を照会するコードがいくつかありました。

$query = $this->getQuery();
$query->condition('webform_id', $webform->id());
$query->condition('in_draft', FALSE);
$query->range(0, 1);

これはまさに実行したい種類のクエリですが、getQuery()を使用しようとすると、

未定義の関数Drupal\my_module\my_helper_class\getQuery()の呼び出し

このようなノードのエンティティクエリを開始する方法を理解しています

 \Drupal::entityQuery('node')

しかし、エンティティタイプを指定せずにエンティティクエリを開始する方法はありますか?または、エンティティタイプのWebフォームクエリの種類を確認する方法はありますか?

6
Matt

Webフォームの送信はコンテンツエンティティであるため、次のようなものが機能します。

$query = \Drupal::entityQuery('webform_submission')
    ->condition('uid', $uid);
$result = $query->execute();
8
Clive