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.15 Webform Webformで確認画面
フォーム 7.38 Views Views一覧の絞り込み検索フォームで複数フィールドを対象にしたい
フォーム 7.15 Webform Webform - 確認ページの多言語化
フォーム 8.7.x Webform WebformのCheckboxの要素にて表記の変更
フォーム 7.15 system mail()での送信が失敗する
フォーム 7.38 Webform Webformモジュールをアップデートしたら「このフィールドを入力してください」
フォーム 7.43 Webform フォーム関数が実行されるタイミングについて
フォーム 7.16 Webform, Mail System, Mime Mail, Jp Mail Helper 送信メールのサブジェクトが長いと文字化けする
フォーム 7.15 Webform WebformのEntity Translation
フォーム 7.15 DefaultTextForNode 新しいページの作成方法を一から教えてください
フォーム 8.6.x JavaScript 特定のformにJavaScriptを紐付ける方法
フォーム 8.9.x api GET/POSTされた情報を得る方法
フォーム 7.15 Webform Template Webformを複写したい
フォーム 8.9.x Views Views exposed filterのフォームに#default_valueを仕込む方法
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
ブロック 7.23 伸縮するfieldsetブロックを追加したい
メール 7.50 Smtp smtpでGmailアカウントを使いたい
ユーザ 7.44 Password Policy 無効なユーザーを整理したい
ユーザ 7.22 Realname ユーザーIDではなくニックネーム等を表示したい
ユーザ 7.23 User 長い投稿者名の表示が切れる

ページ