質問 > フロント機能 > 商品の購入回数の取得について |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
wa.shi |
投稿日時: 2019/4/15 10:14
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について >>468様
いつも大変お世話になっております。 週末挟み明けのご返信誠に恐縮です・・・。 確かに他のステータスにも 焦点を合わせるべきですね。 わざわざありがとうございます! |
468 |
投稿日時: 2019/4/12 17:57
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品の購入回数の取得について うまくいったという事で良かったです。
あとは、以下の'id'=>の記述を変更する事で他のステータスの受注も対象外にできるかと思いますので 必要があれば要件に合わせて変更してください。 ->findNotContainsBy(array('id' => $this->app['config']['order_processing'])); ↓ ->findNotContainsBy(array('id' => array($this->app['config']['order_processing'], $this->app['config']['order_pending'], $this->app['config']['order_cancel'], $this->app['config']['order_back_order'])));
|
wa.shi |
投稿日時: 2019/4/12 14:56
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について 468様
いつも大変お世話になっております。 早速のご回答ありがとうございます! ご教示頂きました内容を元に ステータスに関する条件を追記致しましたところ、 非常にうまくいきました。 この度は手厚く ご面倒頂きまして誠にありがとうございました!
|
468 |
投稿日時: 2019/4/12 14:32
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品の購入回数の取得について whereにOrderStatusを追加する事で問題を解決できると思います。
OrderRepositry内にin notを使って判定している(管理画面の受注一覧の検索処理)ところがあると思いますので そちらを参考にすれば良いかと思います。 注文完了までの操作時には、購入処理中のステータスの受注データが追加されていると思います。
|
wa.shi |
投稿日時: 2019/4/12 13:42
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について 468様
いつも大変お世話になっております。 本件、いろいろとご教示頂きましたおかげさまで 解決致しました! 誠にありがとうございます。 以下のQueryBuilderを OrderDetailRepositoryにて追記致しました。 引用:
ただし、実はまた別の問題が発生しまして… 販売回数制限を超えた際、 カートページにて 該当エラーメッセージが 表示され該当商品が削除される仕様に致しましたが、 販売回数制限を超えていない場合 購入ページにて、 リロードや支払い方法を選択すると ページの再読み込みが起き、自動的に受注情報が更新され 同時購入回数も増え、 カートページに戻され、エラーとなってしまうように なりました(><) ひと難過ぎてまたひと難ですね。。 どうにか回避する方法を調査中でございます。 |
468 |
投稿日時: 2019/4/12 11:02
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品の購入回数の取得について 提示いただいたソースでは、既に会員と商品が特定されていたと思いますのでSQLは以下のような感じになるかと思います。
WHEREでcustomer_id, product_idを指定してしまえば、 GROUPで集約した結果の1行分のレコードのみを取り出す事と同義になります。 もし、SQLには慣れておられるのであれば、 QueryBuilderでハマるかもしれないのはWHERE等のパラメータの渡し方かもしれません。 QueryBuilder(Doctrine)では、以下のような感じでWhere句を指定していきますが、 パラメータに渡す$Customerは、customer_idではなくCustomerエンティティのインスタンスである必要があります。
SQLで考えるとcustomer_idのカラムを条件に指定しようと考えてしまうかもしれませんが(私は最初そうでした) 上手くいかず、かなり悩みましたので...
|
wa.shi |
投稿日時: 2019/4/12 10:39
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について 468様
いつも大変お世話になっております。 ご回答いただきまして 誠にありがとうございます。 下記のようなSQL文をQueryBuilderに当てはめようと致しましたが 当てはめ方に大変苦戦致しました…。 引用:
おっしゃる通り、 最終目的データを追いかけて お恥ずかしながら混乱してしまいました。 ご提示頂きました一例を元に シンプルに一度組んでみようと思います。 ご丁寧に記述頂き 誠に感謝です。 |
468 |
投稿日時: 2019/4/11 18:43
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品の購入回数の取得について どういったカスタマイズをしようとして、どんな状態まで進んでいますか?
いきなり最終目的のデータを取得しようとせずに、まずは単純に注文詳細レコードの件数だけでも取得するようなQueryBuilderを記述されてみては如何でしょうか? CategoryRepositoryのfunction getTotalCount()がシンプルかもしれません。 提示いただいたコードの
の前に
みたいな感じでリポジトリクラスに定義したメソッドは呼び出せるのではないかと思います。 getCountは、OrderDetailRepository.phpに定義してください。
|
wa.shi |
投稿日時: 2019/4/11 13:38
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について 468様
お世話になっております。 お恥ずかしながら、 QueryBuilder初心者であり 大変苦戦しております。 いろいろ組んでみて 頭の中がこんがらがってしまいました・・・。 なにかヒント等ございましたら ご教示頂けますと幸いでございます。 |
wa.shi |
投稿日時: 2019/4/11 10:43
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: 商品の購入回数の取得について ご回答ありがとうございます。
頂きました内容を元に 実装を試みようと思います。 完了次第ご連絡致します。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |