Zend/Db/Sqlの変更点

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

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-/* テーブル名の指定 */
1918//テーブル名を引数に指定する
20-$tableName = "test";
2119$insert=$sql->insert($tableName);
20+//テーブル名は以下のintoメソッドでも設定可能
2221//intoメソッドが優先される
2322$insert->into($tableName);
24-
25-/* カラム名の指定 */
26-// Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する
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){{
2732$array = array("id", "name", "value");
2833$insert->columns($array);
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" }
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");
4459}}
スポンサー