Zend/Dbの変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- 移動:バックアップ
- 最新のバージョン:2014-04-09 15:50:54
- バージョン:(Rev:Fs46o4vyiv)2014-04-07 18:11:31
| Old | New | 差分 | |
|---|---|---|---|
| 42 | 42 | |quote_identifiers|任意|(IbmDb2とOracle)| | |
| 43 | 43 | |identifier_separator|任意|(IbmDb2)| | |
| 44 | 44 | ||
| 45 | + | *Sqlの生成 [#snZFsfJ] | |
| 46 | + | ** sqlクラス [#HnncShO] | |
| 47 | + | -[[Zend/Db/Sql]] | |
| 48 | + | ||
| 45 | 49 | *データベースの操作 [#gql9VcY] | |
| 46 | 50 | ** 直接SQLを記述 [#8CtSIiM] | |
| 47 | 51 | #sh(php){$adapter->query('SELECT * FROM `artist` WHERE `id` = ?', array(5));}} | |
| 48 | - | ** sqlクラスの利用 [#7bggoIO] | |
| 49 | - | #sh(php){{ | |
| 50 | - | $sql = new Zend\Db\Sql\Sql($adapter); | |
| 51 | - | $insert=$sql->insert(); | |
| 52 | - | $insert->into("test"); | |
| 53 | - | // columnsを先に書くと何故か消える | |
| 54 | - | $insert->values(array("1","hoge")); | |
| 55 | - | $insert->columns(array("id", "name")); | |
| 56 | - | echo $sql->getSqlStringForSqlObject($insert); | |
| 57 | - | // →INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge') | |
| 58 | - | }} | |
| 59 | 52 | ** tableGatewayクラスの利用 [#Plz7gyz] | |
| 53 | + | -[[Zend/Db/TableGateway]] | |
| 60 | 54 | *トランザクション処理 [#eHOXtXK] | |
| 61 | 55 | #sh(php){{ | |
| 62 | 56 | // トランザクション開始 | |
| 63 | 57 | $adapter->getDriver()->getConnection()->beginTransaction(); | |
| 64 | 58 | try { | |
| 59 | + | // SQL処理 | |
| 60 | + | ||
| 65 | 61 | // コミット処理 | |
| 66 | 62 | $adapter->getDriver()->getConnection()->commit(); | |
| 67 | 63 | } catch (\Exception $e) { | |
| 64 | + | // 何らかの例外発生で処理失敗 | |
| 68 | 65 | // ロールバック処理 | |
| 69 | 66 | $adapter->getDriver()->getConnection()->rollback(); | |
| 70 | 67 | } |