Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:app:transaction

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:app:transaction [2020/05/15 16:44]
y2sunlight [ユーザコントローラ]
apricot:app:transaction [2020/05/21 10:41] (現在)
y2sunlight [Apricot トランザクション]
行 17: 行 17:
     * [[apricot:app:validation|Apricot バリデーション]]     * [[apricot:app:validation|Apricot バリデーション]]
     * Apricot トランザクション     * Apricot トランザクション
-  * [[apricot:ext:top|Apricot 拡張]]+  * [[apricot:ext:middleware|Apricot 拡張]]
  
 ユーザ登録画面にトランザクションの機能を追加します。トランザクションを作るか否かはアクション毎に設定できるようにします。また、トランザクション機能を追加することによりアクションでスローされる [[apricot:app:top#例外クラス|ApplicationException]] をキャッチして(エラー画面に遷移することなく)入力画面でエラーメッセージを表示できるようになります。アクションでスローされるApplicationException には以下のものがあります。 ユーザ登録画面にトランザクションの機能を追加します。トランザクションを作るか否かはアクション毎に設定できるようにします。また、トランザクション機能を追加することによりアクションでスローされる [[apricot:app:top#例外クラス|ApplicationException]] をキャッチして(エラー画面に遷移することなく)入力画面でエラーメッセージを表示できるようになります。アクションでスローされるApplicationException には以下のものがあります。
行 173: 行 173:
 </code> </code>
  
-  * transactional()を使って3つのアクション( ''insert()'', ''update()'', ''delete()'' )トランザクション処理が有効に設定しています。+  * transactional()を使って3つのアクション( ''insert()'', ''update()'', ''delete()'' )トランザクション処理が有効になるように設定しています。
  
 \\ \\
行 185: 行 185:
   - 画面B   - 画面B
  
-画面A,B共にrootユーザの編集画面を表示しておきます。+前もって 画面A,B共にrootユーザの編集画面を表示しておきます。
  
 === 画面A === === 画面A ===
-[{{apricot:app:app10.png?nolink}}]+[{{apricot:app:app11.png?nolink}}]
 ■ 備考を変更して[保存]ボタンを押します。 ■ 備考を変更して[保存]ボタンを押します。
  
-[{{apricot:app:app10.png?nolink}}]+[{{apricot:app:app12.png?nolink}}] 
 +■ 正常に保存できます。
  
 \\ \\
  
 === 画面B === === 画面B ===
-[{{apricot:app:app10.png?nolink}}]+[{{apricot:app:app13.png?nolink}}]
 ■ 備考を変更して[保存]ボタンを押します。 ■ 備考を変更して[保存]ボタンを押します。
  
-[{{apricot:app:app10.png?nolink}}] +[{{apricot:app:app14.png?nolink}}] 
-■ TODO+■ 画面表示時点のデータが変更されているので楽観的ロック例外が発生します。
  
 \\ \\
  
apricot/app/transaction.1589528645.txt.gz · 最終更新: 2020/05/15 16:44 by y2sunlight