> フロント機能 > 詳細ページ以外でストック状況を取得したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Wooody |
投稿日時: 2016/4/19 11:48
対応状況: −−−
|
半人前 登録日: 2016/4/15 居住地: 投稿: 16 |
詳細ページ以外でストック状況を取得したい いつもお世話になっております。
商品の詳細ページ以外で在庫のストック情報を取得したく、 最初はjoinでデータを取得する方法を試していたのですが、、class_categoryが分かれている場合、全てのclass_categoryの状況を確認しなければならないことと、ストック情報をまでたどり着く結合条件がなかなか複雑でうまく取得できませんでした。 そこで別の方法を調べているうちにProductController.phpのfunction detailにて、同じようにストック状況を取得しているので、そちらを参考にしようと考えました。 そこで質問なのですが、ProductController.phpのfunction detailで行っている以下の処理はなにをやっているのかご教授頂きたく。 /* @var $builder \Symfony\Component\Form\FormBuilderInterface */ $builder = $app['form.factory']->createNamedBuilder('', 'add_cart', null, array( 'product' => $Product, 'id_add_product_id' => false, )); なお、これの前後に dump($Product);で結果を調べると、前はストック情報が入っていないのに対し、後ろではストック情報が入っています。 また、上記の2パターンの方法以外でも、簡単にproduct_idよりストック情報を取得する方法があれば、ご教授ください。 --- 追記 ---------------------------------------- かなり時間がかかりましたが、自分で解決できましたので、解決済みとさせて頂きます。 結局、なにをやっているかわからなかったため、createQueryBuilderを使用し、ProductClassテーブルをJoinし、group by product_id で SUM()して在庫数を取得することにしました。 調査して頂いていたかた、誠にありがとうございます。 |
tacky |
投稿日時: 2016/4/19 17:59
対応状況: −−−
|
長老 登録日: 2015/10/3 居住地: Tokyo 投稿: 277 |
Re: 詳細ページ以外でストック状況を取得したい 引用:
上記処理はフォームを定義しています。 商品の在庫の取得でしたらController上で下記でできます。 $idの部分に該当するproduct_idを入れて下さい。 $ProductClass = $app['eccube.repository.product_class']->findBy(array('Product' => $id)); あとはtwig側で必要な物を取り出せばよいかと思います。 |
Wooody |
投稿日時: 2016/4/19 18:05
対応状況: −−−
|
半人前 登録日: 2016/4/15 居住地: 投稿: 16 |
Re: 詳細ページ以外でストック状況を取得したい tacky様、いつもありがとうございます。
まさに本文に追記している状態でのご返答でした。 JOINで自分で結合する方法をとりましたが、tacky様に教わった方法も試してみます。 誠にありがとうございます。 |
Wooody |
投稿日時: 2016/4/19 18:11
対応状況: 解決済
|
半人前 登録日: 2016/4/15 居住地: 投稿: 16 |
Re: 詳細ページ以外でストック状況を取得したい かなり時間がかかりましたが、自分で解決できましたので、解決済みとさせて頂きます。
結局、なにをやっているかわからなかったため、createQueryBuilderを使用し、ProductClassテーブルをJoinし、group by product_id で SUM()して在庫数を取得することにしました。 調査して頂いていたかた、誠にありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |