Zend/Db/Sqlの変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- 移動:バックアップ
- バージョン:(Rev:XHErLbUNW1)2014-04-09 08:01:27
- 直前のバージョン:(Rev:ShuIu9kgiu)2014-04-09 07:49:56
Old | New | 差分 | |
---|---|---|---|
1 | 1 | #contents | |
2 | - | *基本的な利用方法 [#cv15mK2] | |
2 | + | *Insert [#briuNCF] | |
3 | + | $sqlクラスのinsertメソッドから呼び出される。 | |
4 | + | ||
5 | + | **基本的な利用方法 [#EMRsbFQ] | |
3 | 6 | #sh(php){{ | |
4 | 7 | $sql = new Zend\Db\Sql\Sql($adapter); | |
5 | 8 | $insert=$sql->insert(); | |
6 | 9 | $insert->into("test"); | |
7 | - | // columnsを先に書くと何故か消える | |
8 | - | $insert->values(array("1","hoge")); | |
9 | - | $insert->columns(array("id", "name")); | |
10 | + | $insert->values(array("id"=>"1","name"=>"hoge")); | |
10 | 11 | echo $sql->getSqlStringForSqlObject($insert); | |
11 | - | // →INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge') | |
12 | 12 | }} | |
13 | - | ||
14 | - | **Insert [#briuNCF] | |
15 | - | $sqlクラスのinsertメソッドから呼び出される。 | |
16 | - | 引数はテーブル名 | |
17 | - | #sh(php){{ | |
18 | - | //テーブル名を引数に指定する | |
19 | - | $insert=$sql->insert($tableName); | |
20 | - | //テーブル名は以下のintoメソッドでも設定可能 | |
21 | - | //intoメソッドが優先される | |
22 | - | $insert->into($tableName); | |
23 | - | }} | |
13 | + | INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge') | |
14 | + | ** コンストラクタ [#ulEBVHO] | |
15 | + | 引数 string|TableIdentifier $table | |
16 | + | テーブル名を指定する、intoメソッドが優先される | |
17 | + | ||
24 | 18 | ** intoメソッド [#5bfgHXP] | |
25 | 19 | テーブル名を指定する | |
26 | 20 | #sh(php){$insert->into($tableName);} | |
27 | - | ||
28 | - | ** columns | |
21 | + | ||
22 | + | ** columns [#6tEUBn8] | |
29 | 23 | カラム名を指定する。 | |
30 | 24 | &color(#FF0000){''Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する''}; | |
31 | 25 | #sh(php){{ | |
32 | 26 | $array = array("id", "name", "value"); | |
33 | 27 | $insert->columns($array); | |
34 | 28 | }} | |
35 | - | ** values | |
29 | + | ** values [#o66wZrF] | |
36 | 30 | Insertする値の設定を行う | |
37 | 31 | #sh(php){{ | |
38 | 32 | //$flagは省略可能(省略した場合self::VALUES_SETがセットされる) | |
39 | 33 | $insert->values($values, $flag); | |
40 | 34 | }} | |
41 | 35 | $valuesにはSelectインスタンスか配列がセットされる | |
42 | - | $valuesは本来連想配列かSelectインスタンスがセットされるのだと思われるが | |
43 | - | Zend 2.3現在、self::VALUES_SETを$flagにセットした場合、columnがリセットされて | |
44 | - | うまく動作していないと思われる。 | |
45 | - | 仕様変更がある可能性があるので、この項目は詳しくは記述しない。 | |
46 | - | ||
47 | - | ** selectメソッド [#cm53Cva] | |
36 | + | ||
37 | + | * select [#KMCZP0n] | |
48 | 38 | valuesメソッドが呼び出される。 | |
49 | 39 | #sh(php){$insert->values($select);} | |
50 | 40 | が実行される。 | |
51 | - | ||
52 | - | ** getRawState | |
41 | + | ||
42 | + | ** getRawState [#sXaDmpJ] | |
53 | 43 | table名、columns設定値、values設定値を返す。 | |
54 | - | 引数を省略すると連想配列ですべての情報を返す。 | |
55 | 44 | #sh(php){{ | |
45 | + | // テーブル情報を返す | |
56 | 46 | $insert->getRawState("table"); | |
47 | + | // カラム名を返す | |
57 | 48 | $insert->getRawState("columns"); | |
49 | + | // values値を返す | |
58 | 50 | $insert->getRawState("values"); | |
51 | + | // 上記のすべてを連想配列で返す | |
52 | + | $insert->getRawState(); | |
59 | 53 | }} |