質問 > 管理機能 > 在庫数の更新に関して質問です |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yskz |
投稿日時: 2018/10/31 12:53
対応状況: −−−
|
新米 登録日: 2018/10/31 居住地: 投稿: 8 |
在庫数の更新に関して質問です [EC-CUBE] 4.0.0
[レンタルサーバ] (開発環境 WSL) [OS] windows10 [PHP] 7.2.11 [データベース] MySQL 5.7.24 [WEBサーバ] Apache/2.4.18 [ブラウザ] edge / chrome [導入プラグインの有無] 無 [カスタマイズの有無] カスタマイズ準備中 ※synfony/doctorineは初心者です。EC-CUBEも3系は触れてません。 他システムとの連携で、在庫を変動させたいと思っています。 とりあえず/src/Eccube/Controller/Admin/Product/ProductController.phpなどを参考に、 以下のような手順で更新できているようなのですが、作法的にあっているのでしょうか?
特に在庫数が2テーブルにそれぞれ存在しているのが不思議に思ったので、その辺りの理由も確認出来ると嬉しいです。 |
nanasess |
投稿日時: 2018/10/31 15:37
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: 在庫数の更新に関して質問です ProductClass::stock は、表示用の在庫数、
ProductStock は商品購入時に行ロックされるテーブルです。 ProductStock のロックを取得してから更新するのが正しいです。 以下の実装が参考になると思います。 https://github.com/EC-CUBE/ec-cube/blob/4.0/src/Eccube/Service/PurchaseFlow/Processor/StockReduceProcessor.php#L80-L94 |
yskz |
投稿日時: 2018/10/31 18:33
対応状況: −−−
|
新米 登録日: 2018/10/31 居住地: 投稿: 8 |
Re: 在庫数の更新に関して質問です ご教授ありがとうございます!
テーブルの役割の違い、ロックに関して、共に了解しました。 特にロックに関して、トランザクション回りなども含めて、もう少し調べてから実装してみようと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |