_getSelfMysql(), 't_bag', array( 'account_id' => myself()->_getAccountId(), 'item_id' => $itemId, ) ); return $row; } public static function toDto($row) { return array( 'item_id' => $row['item_id'], 'item_num' => $row['item_num'], ); } public static function getItemCount($itemId) { $itemDb = self::find($itemId); return $itemDb ? $itemDb['item_count'] : 0; } public static function addItem($itemId, $itemNum) { if (myself()->_isVirtualItem($itemId)) { return; } $itemMeta = mt\Item::get($itemId); if (!$itemMeta) { return; } SqlHelper::upsert (myself()->_getSelfMysql(), 't_bag', array( 'account_id' => myself()->_getAccountId(), 'item_id' => $itemId ), array( 'item_num' => function () use($itemNum) { return "item_num + {$itemNum}";}, 'modifytime' => myself()->_getNowTime(), ), array( 'account_id' => myself()->_getAccountId(), 'item_id' => $itemId, 'item_num' => $itemNum, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime() ) ); } public static function decItem($itemId, $itemNum) { SqlHelper::update (myself()->_getSelfMysql(), 't_bag', array( 'account_id' => myself()->_getAccountId(), 'item_id' => $itemId, ), array( 'item_num' => function () use($itemNum) { return "GREATEST(0, item_num - ${itemNum})"; }, 'modifytime' => myself()->_getNowTime(), ) ); } }