バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注一覧ページにて、表示順を変更したいです。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hiroking
投稿日時: 2022/1/19 21:26
対応状況: 確認中
新米
登録日: 2022/1/19
居住地:
投稿: 4
受注一覧ページにて、表示順を変更したいです。
▼テンプレート
[EC-CUBE] EC-CUBE4.1
[レンタルサーバ] Xserver , localhost
[PHP] PHP7.4.12
[データベース] MySQL
[WEBサーバ] Apache
[ブラウザ] Chrome 他

[現象]

受注一覧ページ(/administrator/order)にて、表示順を変更したいです。
要望といたしましては、デフォルトでID、更新日時順になっているところを、「配達時間」と「配達日時」の順番にしたいです。

以下の記事を参考にしました。
https://techmemo.biz/ec-cube/eccube4-admin-list-orderby/

「src/Eccube/Repository/OrderRepository.php」のgetQueryBuilderBySearchDataForAdminメソッドにて

$qb->orderBy('o.update_date', 'DESC');
$qb->addorderBy('o.id', 'DESC');

の部分を

$qb->orderBy('s.shipping_delivery_time', 'DESC');

としたところ、エラーが出ました。エラーは以下です。

Cannot select distinct identifiers from query with LIMIT and ORDER BY on a column from a fetch joined to-many association. Use output walkers.

OrderエンティティにてORDER BYしなければならないということなのでしょうが、何とか実装したいです。
何か方法はありますでしょうか?

詳しい方、ご教示いただきたいです。
よろしくお願いいたします。

ec9iii
投稿日時: 2022/1/20 11:09
対応状況: −−−
一人前
登録日: 2014/9/8
居住地:
投稿: 117
Re: 受注一覧ページにて、表示順を変更したいです。
当方環境にて以下のコードにしてみましたら、とりあえずエラーはなくなりました。
おそらくSELECTに明示的に追加しておかないといけなさそうです。

$qb->addSelect('s.shipping_delivery_time as HIDDEN shipping_delivery_time');
$qb->orderBy('shipping_delivery_time', 'DESC');


実際には、NULLの場合や複数出荷情報がある場合などの考慮は必要になりそうですが、いちどお試しください。
hiroking
投稿日時: 2022/1/20 15:11
対応状況: 解決済
新米
登録日: 2022/1/19
居住地:
投稿: 4
Re: 受注一覧ページにて、表示順を変更したいです。
ec9iii様

ご返信ありがとうございます。

当方でも試してみたところ、うまく動かすことができました。
「SELECTに明示的に追加しておく」勉強になります。
他の仕様と併せて不具合が出ないかテストしてみます。

大変助かりました。ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は74,626名です
総投稿数は104,055件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2074
6
yuh
1664
7
red
1498
8
h_tanaka
1188
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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