2016-05-03 8 views

答えて

0

トランザクションのサポートは、\Magento\Framework\DB\Adapter\AdapterInterfaceの実装(\Magento\Framework\DB\Adapter\Pdo\Mysql)です。あなたはDIを使用して\Magento\Framework\App\ResourceConnectionオブジェクトからこのオブジェクトを取得することができます:

/** @var \Magento\Framework\DB\Adapter\AdapterInterface */ 
protected $_conn; 
/** @var \Magento\Framework\App\ResourceConnection */ 
protected $_resource; 

public function __construct(
    \Magento\Framework\App\ResourceConnection $resource 
) { 
    $this->_resource = $resource; 
    $this->_conn = $resource->getConnection(); // get default connection 
} 

あなたは、接続のためのデータベーストランザクションを使用することができます。

try { 
     $this->_conn->beginTransaction(); 
     // ... 
     $this->_conn->commit(); 
    } catch (\Exception $e) { 
     $this->_conn->rollBack(); 
    } 
1

質問は非常に明確ではありませんが、あなたがデータベーストランザクションを実装していませ必要がありますWebサービスクラスの内部。

_Repositoryクラスを使用して、データを永続化するためのコードを含むリソースモデルクラスをコンストラクタに挿入します。コアMagentoのから

例:WebサービスAPIを介して

<route url="/V1/customerGroups/:id" method="PUT"> 
     <service class="Magento\Customer\Api\GroupRepositoryInterface" method="save"/> 
     <resources> 
      <resource ref="Magento_Customer::group"/> 
     </resources> 
</route> 
を顧客グループを保存
関連する問題