質問 > 管理機能 > 受注一覧ページにて、表示順を変更したいです。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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に明示的に追加しておく」勉強になります。 他の仕様と併せて不具合が出ないかテストしてみます。 大変助かりました。ありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |