Commerceで歴代購入数/金額を集計する方法

カテゴリ Commerce コアバージョン 8.6.x 関連モジュール Commerce Payment Order
購入件数/購入額/購入時刻を得る
    $ltv_query = \Drupal::database()->select('commerce_payment', 'p')
      ->condition('p.state', 'completed');
    $ltv_query->join('commerce_order', 'o', "o.order_id = p.order_id");
    $ltv_query->condition('o.uid', $this->account->id());
    $order_count_query = clone $ltv_query;
    $order_count_query->condition('p.payment_gateway', 'THIS_GATEWAY', '');
    $last_order_query = clone $order_count_query;
    $last_order_query
      ->fields('p', ['amount__number', 'completed'])
      ->orderBy('p.completed', 'DESC')
      ->range(0, 1);
    $last_order = $last_order_query->execute()->fetchObject();
    $last_order_amount = $last_order->amount__number ?? 0;
    $last_order_at = $last_order->completed ?? REQUEST_TIME;

    $order_count = $order_count_query->countQuery()->execute()->fetchField(); // 購入件数(THIS_GATEWAY以外)
    $ltv = $ltv_query->countQuery()->execute()->fetchField(); // 購入件数
    $last_order_amount = floor($last_order_amount); // 直近の購入額
    $last_order_at = floor((REQUEST_TIME - $last_order_at) / (60*60*24)); // 直近の購入時刻

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ昇順で並び替える Core Ver. 関連モジュール タイトル
フォーム 7.38 Views Views一覧の絞り込み検索フォームで複数フィールドを対象にしたい
フォーム 8.9.x Views Views exposed filterのフォームに#default_valueを仕込む方法
フォーム 7.15 system mail()での送信が失敗する
フォーム 8.6.x JavaScript 特定のformに動的にJavaScriptをロードする方法
フォーム 7.38 Webform Webformモジュールをアップデートしたら「このフィールドを入力してください」
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 7.43 Webform フォーム関数が実行されるタイミングについて
フォーム 7.16 Webform, Mail System, Mime Mail, Jp Mail Helper 送信メールのサブジェクトが長いと文字化けする
フォーム 8.7.x Webform WebformのCheckboxの要素にて表記の変更
フォーム 7.15 Webform WebformのEntity Translation
パフォーマンス 7.34 Server お金をかけないで冗長化するには
ニュースレター 7.34 Simple news Simplenewsで追加顧客(リスト)だけにニュースレターを配信する方法
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
テーマ 7.34 スマホ、PCおよびアプリを同時に運用可能なおすすめのテーマはありますでしょうか?
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
テーマ 8.9.x Twig Twig で 月末日を算出する方法
テーマ 7.15 CSS Injector 簡単にCSSを追加したい
テーマ 8.3x Core Twig開発用の設定
テーマ 8.9.x patch パッチ 開発環境のファイル変更を本番環境にパッチでデプロイする方法(画像含まず)
テーマ 8.7.x Bartikのtwigについて

ページ