バージョン選択

フォーラム

メニュー

オンライン状況

58 人のユーザが現在オンラインです。 (49 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 58
もっと...

サイト内検索

質問 > 管理機能 > 受注一覧画面でページを跨いでもソート結果を全て取得する方法はありませんか?

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
katai
投稿日時: 2020/12/16 11:55
対応状況: 開発中
半人前
登録日: 2020/6/29
居住地:
投稿: 18
受注一覧画面でページを跨いでもソート結果を全て取得する方法はありませんか?

[EC-CUBE] 4.0.3
[レンタルサーバ] Xサーバー
[PHP] 7.3.16
[データベース] MySQL 5.7.29

▼実現したいこと
受注一覧画面で、表示件数を指定し表示している場合でも、
検索結果全件の合計金額などを取得したいです。
(現状、表示件数を増やし、1ページ内に全件表示形式の場合は
 できています。)
この場合、受注件数が増えてしまうと重くなると思い、
ページを跨いでも表示できる形式で作成したいと考えています。


▼試したこと
受注一覧でOrderItemsには注文データが全件入っているのですが、
この場合、詳細検索を使用した場合OrderItems内の件数に
変動はないため使えませんでした。

paginationが詳細検索の結果も反映され、1ページ内に表示
されている(表示件数次第)が全て取れるのですが、
1ページ目にいるときに、2ページ目の注文データは取れず、
一番理想に近いのですが、うまく活用できずにいます。

どのページにいても詳細検索の結果を反映している
全注文のデータがとりたいのですが、実現方法があれば
ご教授いただきたいです。

よろしくお願いいたします。
468
投稿日時: 2020/12/17 16:08
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 受注一覧画面でページを跨いでもソート結果を全て取得する方法はありませんか?
paginationとは別に全件の集計結果を取得する為の処理が必要かと思います。
(paginationはデータ件数が多い時でも1ページ内のデータだけを取得してサーバ負荷を軽減させる為の仕組みなので
全件に対する情報は取得できません)

orderRepository->getQueryBuilderBySearchDataForAdmin($searchData)で返ってきたQueryBuilderのselect部分だけ集計関数に置き換えて必要なデータを取得する形になるかと思います。
orderRepositoryに専用のメソッドを追加する形でも良いかと思います。(whereの部分は同じにしておく必要があると思いますので完全に別々に作るのは非効率な気もしますが...)

orderRepository->updateOrderSummary()の中にある記述が参考になるかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

katai
投稿日時: 2020/12/20 20:28
対応状況: −−−
半人前
登録日: 2020/6/29
居住地:
投稿: 18
Re: 受注一覧画面でページを跨いでもソート結果を全て取得する方法はありませんか?
ありがとうございます!
教えていただいた方法をもとに、OrderControllerでpaginationの
代わりに全ページ取得する用の変数を作成し、全ページ分取得する
形で実現できました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,290名です
総投稿数は109,689件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.