質問 > その他 > 商品在庫数の管理について(dtb_product_stockとdtb_product_class の stockカラム) |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
knakamura |
投稿日時: 2016/7/19 15:22
対応状況: −−−
|
新米 登録日: 2015/10/23 居住地: 投稿: 7 |
商品在庫数の管理について(dtb_product_stockとdtb_product_class の stockカラム) ECcube3.0.10 のテーブル構造についての質問です。
dtb_product_class テーブルの stockカラム と dtb_product_stock テーブル のstockカラム、 特定の product_class_id 在庫数を管理するカラムが2箇所存在しています。 2つのテーブルで同じ値を持っている意味は何かありますでしょうか? ソースを追いかけてみたところ、src/Eccube/Service/CartService.php の 309行目あたりに、 以下のコメントを発見しました。 * 実際の在庫は ProductClass::ProductStock だが、購入時にロックがかかるため、 * ここでは ProductClass::stock で在庫のチェックをする 上記のコメントの意味がよくわかりません。 2つのテーブルで管理している意味と合わせて、分かる方がいたらご教授いただけますと 幸いです! 現在、在庫周りのカスタマイズを行っているので、影響範囲を知りたいです。 よろしくお願いいたします。 |
nanasess |
投稿日時: 2016/7/19 17:20
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2315 |
Re: 商品在庫数の管理について(dtb_product_stockとdtb_product_class の stockカラム) 1. 商品詳細にて、在庫有無を表示する→ dtb_product_class.stock
2. 商品購入時、在庫有無をチェックする → dtb_product_stock.stock となっています。 商品購入時は、排他制御が必要になる(同時に購入されないように厳密に制御する)ため、 dtb_product_stock.stock を使用しますが、この情報を商品詳細でも参照すると、とても処理が遅くなってしまうので、商品詳細では在庫数の目安として dtb_product_class.stock を使用するようになっています。 |
hiroo |
投稿日時: 2016/8/3 16:40
対応状況: −−−
|
長老 登録日: 2016/6/9 居住地: 投稿: 160 |
Re: 商品在庫数の管理について(dtb_product_stockとdtb_product_class の stockカラム) 排他制御が必要なことは理解しております。
ただ、商品詳細にて表示するだけであれば、selectなのでロック待ちすることもなく関係ない気がするのですが、違うのでしょうか? |
knakamura |
投稿日時: 2016/8/24 15:28
対応状況: −−−
|
新米 登録日: 2015/10/23 居住地: 投稿: 7 |
Re: 商品在庫数の管理について(dtb_product_stockとdtb_product_class の stockカラム) nanasess様
返事が遅くなり大変申し訳ありません。 ご回答ありがとうございます! よく理解できました。 ご丁寧に説明いただきましてありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |