Zend/Db/Sqlの変更点

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 移動:バックアップ
  • バージョン:(Rev:59KOeanj4k)2014-04-09 02:42:14
  • 直前のバージョン:(Rev:mxGlzKCp9b)2014-04-08 16:52:16

OldNew差分
1010echo $sql->getSqlStringForSqlObject($insert);
1111// →INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge')
1212}}
13-
13+
1414**Insert [#briuNCF]
1515$sqlクラスのinsertメソッドから呼び出される。
1616引数はテーブル名
1717#sh(php){{
18+/* テーブル名の指定 */
1819//テーブル名を引数に指定する
20+$tableName = "test";
1921$insert=$sql->insert($tableName);
20-//テーブル名は以下のintoメソッドでも設定可能
2122//intoメソッドが優先される
2223$insert->into($tableName);
23-}}
24-** intoメソッド [#5bfgHXP]
25-テーブル名を指定する
26-#sh(php){$insert->into($tableName);}
27-
28-** columnsメソッド [#YV23NOV]
29-カラム名を指定する。
30-&color(#FF0000){''Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する''};
31-#sh(php){{
24+
25+/* カラム名の指定 */
26+// Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する
3227$array = array("id", "name", "value");
3328$insert->columns($array);
34-}}
35-** valuesメソッド [#rkA74bw]
36-Insertする値の設定を行う
37-#sh(php){{
38-//$flagは省略可能(省略した場合self::VALUES_SETがセットされる)
39-$insert->values($values, $flag);
40-}}
41-$valuesにはSelectインスタンスか配列がセットされる
42-$valuesは本来連想配列かSelectインスタンスがセットされるのだと思われるが
43-Zend 2.3現在、self::VALUES_SETを$flagにセットした場合、columnがリセットされて
44-うまく動作していないと思われる。
45-仕様変更がある可能性があるので、この項目は詳しくは記述しない。
46-
47-** selectメソッド [#cm53Cva]
48-valuesメソッドが呼び出される。
49-#sh(php){$insert->values($select);}
50-が実行される。
51-
52-** getRawStateメソッド [#LQUQOSs]
53-table名、columns設定値、values設定値を返す。
54-引数を省略すると連想配列ですべての情報を返す。
55-#sh(php){{
56-$insert->getRawState("table");
57-$insert->getRawState("columns");
58-$insert->getRawState("values");
29+
30+/* values値の指定 */
31+// おそらく連想配列で渡すのが本来の使い方。columnsで指定した内容は無視される
32+$values = array("id"=>"1", "name"=>"test", "value"=>"testvalue");
33+$insert->values($values);
34+
35+/* おまけ */
36+var_dump($insert->getRawState("table"));
37+// →string(4) "test"
38+var_dump($insert->getRawState("columns"));
39+// →array(3) { [0]=> string(2) "id" [1]=> string(4) "name" [2]=> string(5) "value" }
40+var_dump($insert->getRawState("values"));
41+// →array(3) { [0]=> string(1) "1" [1]=> string(4) "test" [2]=> string(9) "testvalue" }
42+var_dump($insert->getRawState());
43+// →array(3) { ["table"]=> string(4) "test" ["columns"]=> array(3) { [0]=> string(2) "id" [1]=> string(4) "name" [2]=> string(5) "value" } ["values"]=> array(3) { [0]=> string(1) "1" [1]=> string(4) "test" [2]=> string(9) "testvalue" }
5944}}
スポンサー