Ticket #2280 (closed 改善提案: 修正済)

Opened 7 years ago

Last modified 7 years ago

SC_CartSession::getCartListの効率化

Reported by: shutta Owned by: shutta
Priority: Milestone: EC-CUBE2.13.0
Component: フロント Version: 2.12.4
Keywords: Cc:
修正済み: yes

Description

SC_CartSession::getCartList内の下記の部分を効率化。

for ($i = 0; $i <= $max; $i++) {
    if (isset($this->cartSession[$productTypeId][$i]['cart_no'])
        && $this->cartSession[$productTypeId][$i]['cart_no'] != '') {
        // 商品情報は常に取得
        // TODO 同一インスタンス内では1回のみ呼ぶようにしたい
        $this->cartSession[$productTypeId][$i]['productsClass']
            =& $objProduct->getDetailAndProductsClass($this->cartSession[$productTypeId][$i]['id']);

TODOに記載のあるように、無駄に$objProduct->getDetailAndProductsClassを読んでしまっている。
また、getCartListメソッドは各所で呼ばれており、1画面の表示中に複数回呼ばれることもあり、無駄にDBアクセスが発生している状況。
初回にセットした後は、情報を使いまわすように改良する。

Change History

comment:1 Changed 7 years ago by shutta

  • Owner changed from somebody to shutta
  • Status changed from new to assigned
  • Type changed from バグ指摘 to 改善提案

comment:2 Changed 7 years ago by shutta

  • 修正済み set

r22896 にて修正。

comment:3 Changed 7 years ago by h_yoshimoto

  • Status changed from assigned to closed
  • Resolution set to 修正済

ご対応ありがとうございました。

クローズさせて頂きます。

Note: See TracTickets for help on using tickets.