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 | } |