Zend/Db/Sqlの変更点

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 移動:バックアップ
  • 最新のバージョン:2014-04-09 16:00:45
  • バージョン:(Rev:QRl0wKWZn9)2014-04-09 15:27:26

OldNew差分
11#contents
22*Insert [#briuNCF]
33Zend\Db\Sql\Sqlクラスのinsertメソッドから呼び出される。
4-
4+
55**基本的な利用方法 [#EMRsbFQ]
66#sh(php){{
77$sql = new Zend\Db\Sql\Sql($adapter);
1313 INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge')
1414** コンストラクタ [#ulEBVHO]
1515:引数|string|TableIdentifier $table
16-
16+
1717テーブル名を指定する、intoメソッドが優先される
1818#sh(php){$insert=$sql->insert("test");}
19-
19+
2020** intoメソッド [#5bfgHXP]
2121:引数|string|TableIdentifier $table
22-
22+
2323テーブル名を指定する
2424#sh(php){$insert->into("test");}
25-
25+
2626** columns [#6tEUBn8]
2727:引数|array $columns
28-
28+
2929カラム名を指定する。
3030&color(#FF0000){''Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する''};
3131#sh(php){{
3232$insert->columns(array("id", "name", "value"));
3333}}
34-
34+
3535** values [#o66wZrF]
3636:引数|array|Select $values
3737string $flag VALUES_MERGE|VALUES_SET を指定、デフォルトはVALUES_SET
38-
38+
3939Insertする値の設定を行う
4040#sh(php){{
4141$insert->values(array("id"=>"1","name"=>"hoge"));
4242}}
43-
44-
43+
44+
4545** select [#KMCZP0n]
4646:引数|Select $select
47-
47+
4848valuesメソッドが呼び出される。以下と全く同じである。
4949#sh(php){$insert->values($select);}
50-
51-
50+
51+
5252** getRawState [#sXaDmpJ]
5353:引数|string $key
54-
54+
5555table名、columns設定値、values設定値を返す。
5656#sh(php){{
5757// テーブル情報を返す
6363// 上記のすべてを連想配列で返す
6464$insert->getRawState();
6565}}
66-
66+
6767* Select [#8hdU3yM]
6868Zend\Db\Sql\Sqlクラスのselectメソッドから呼び出される。
6969**基本的な利用方法 [#5ljzdHF]
7979 SELECT `test`.`rev_id` AS `id`, `test`.`rev_name` AS `name`, `test`.`rev_value` AS `value` FROM `test` WHERE `name` = 'yamada' AND value > 100 LIMIT 1
8080** コンストラクタ [#U0lUGlM]
8181:引数|null|string|array|TableIdentifier $table
82-
82+
8383テーブル名を指定する
8484ここで指定するとread onlyになり、fromから指定できなくなる
85-
85+
8686** from [#vHKbmez]
8787:引数|string|array|TableIdentifier $table
88-
88+
8989テーブル名を指定する
9090コンストラクタで指定した場合、指定できない
91-
91+
9292** quantifier [#wh64NXe]
9393:引数|string|Expression $quantifier DISTINCT|ALL
94-
94+
9595DISTINCT属性を設定するか。
96-
96+
9797** columns [#StzSgn0]
9898:引数|array $columns
99-
99+
100100selectするカラム名を指定する
101101連想配列の場合、''key値がエイリアス名''になる。
102102#sh(php){$select->columns(array("*"));}
105105 `test`.`id` AS `id`, `test`.`name` AS `name`, `test`.`value` AS `value`
106106#sh(php){$select->columns(array("id"=>"rev_id", "name"=>"rev_name", "value"=>"rev_value"));}
107107 `test`.`rev_id` AS `id`, `test`.`rev_name` AS `name`, `test`.`rev_value` AS `value`
108-
108+
109109** join [#slAKJ1d]
110110:引数|string|array $name
111111string $on
112112string|array $columns
113113string $type JOIN_*の中から一つ
114-
114+
115115結合設定
116116JOIN_INNER、JOIN_OUTER、JOIN_LEFT、JOIN_RIGHTの4種類が指定可能
117117#sh(php){$select->join("test2", "test.id = test2.id", Zend\Db\Sql\Select::SQL_STAR, Zend\Db\Sql\Select::JOIN_LEFT);}
118118 `test2`.* FROM `test` LEFT JOIN `test2` ON `test`.`id` = `test2`.`id`
119119#sh(php){$select->join("test2", "test.id = test2.id", array("id", "name", "age"), Zend\Db\Sql\Select::JOIN_LEFT);}
120120 `test2`.`id` AS `id`, `test2`.`name` AS `name`, `test2`.`age` AS `age` FROM `test` LEFT JOIN `test2` ON `test`.`id` = `test2`.`id`
121-
121+
122122** where [#LrEKQK5]
123123:引数|Where|\Closure|string|array|Predicate\PredicateInterface $predicate
124124string $combination Predicate\PredicateSetで定義されている OP_* の中から一つ
128128 WHERE `id` = '1' AND `name` = 'yamada'
129129#sh(php){$select->where(array("id"=>1, "name"=>"yamada"), Zend\Db\Sql\Predicate\PredicateSet::OP_OR);}
130130 WHERE `id` = '1' OR `name` = 'yamada'
131-Predicate\PredicateSet
131+Predicate\PredicateInterface
132132#sh(php){{
133133$nest = $select->where->nest();
134-$nest->equalTo("name", "yamada");
135-$nest->OR->equalTo("age", "20");
134+$nest->equalTo("name", "yamada");
135+$nest->OR->equalTo("age", "20");
136136$nest->unnest();
137137}}
138138 WHERE (`name` = 'yamada' OR `age` = '20')
139139#sh(php){{
140140$nest = $select->where->nest();
141141 $nest2_1 = $nest->nest();
142- $nest2_1->equalTo("name", "yamada");
143- $nest2_1->OR->equalTo("name", "tanaka");
142+ $nest2_1->equalTo("name", "yamada");
143+ $nest2_1->OR->equalTo("name", "tanaka");
144144 $nest2_1->unnest();
145-$nest2_2 = $nest->AND->nest();
146- $nest2_2->equalTo("age", "10");
147- $nest2_2->OR->equalTo("age", "20");
145+$nest2_2 = $nest->AND->nest();
146+ $nest2_2->equalTo("age", "10");
147+ $nest2_2->OR->equalTo("age", "20");
148148 $nest2_2->unnest();
149149$nest->unnest();
150150}}
151151 WHERE ((`name` = 'yamada' OR `name` = 'tanaka') AND (`age` = '10' OR `age` = '20'))
152+#sh(php){$select->where->NEST->equalTo("name", "yamada")->OR->equalTo("age", "20")->UNNEST;}
153+ WHERE (`name` = 'yamada' OR `age` = '20')
154+#sh(php){{
155+$select->where->NEST
156+ ->NEST
157+ ->equalTo("name", "yamada")
158+ ->OR->equalTo("name", "tanaka")
159+ ->UNNEST
160+ ->AND->NEST
161+ ->equalTo("age", "10")
162+ ->OR->equalTo("age", "20")
163+ ->UNNEST
164+->UNNEST;
165+}}
166+ WHERE ((`name` = 'yamada' OR `name` = 'tanaka') AND (`age` = '10' OR `age` = '20'))
152167** group [#8OTtXtP]
153168:|引数|string|array
154-
169+
155170グループ設定
156171#sh(php){$select->group("name");}
157172 GROUP BY `name`
158-
173+
159174** having [#aDnoqCD]
160175:引数|Where|\Closure|string|array $predicate
161176string $combination One of the OP_* constants from Predicate\PredicateSet
162-
177+
163178#sh(php){$select->having(array("age"=>10, "weight"=>20));}
164179 HAVING `age` = '10' AND `weight` = '20'
165-
180+
166181** order [#LBspsa8]
167182:引数|string|array $order
168-
183+
169184オーダー設定
170185#sh(php){$select->order("name DESC");}
171186 ORDER BY `name` DESC
172187#sh(php){$select->order("name ASC");}
173188 ORDER BY `name` ASC
174-
189+
175190** limit [#jolzJvg]
176191:引数|int $limit
177-
192+
178193Limit設定
179194#sh(php){$select->limit(1);}
180195 LIMIT 1
181-
196+
182197** offset [#zD1URqW]
183198:引数|int $offset
184-
199+
185200Offset設定
186201#sh(php){$select->offset(3);}
187202 OFFSET 3
189204:引数|Select $select
190205string $type
191206string $modifier
192-
207+
193208* Delete [#FY0yK4i]
194209Zend\Db\Sql\Sqlクラスのdeleteメソッドから呼び出される。
195210**基本的な利用方法 [#lBWhe9H]
196-** コンストラクタ [#qNzPl6x]
197-
211+** コンストラクタ [#AiHrSi5]
212+:引数|null|string|TableIdentifier $table
213+
214+テーブル名を指定する、fromメソッドが優先される
215+
216+** from [#8EVuCLJ]
217+:引数|string|TableIdentifier $table
218+
219+テーブル名を指定する
220+
221+**where [#F1VAe0W]
222+[[selectメソッドのwhere>Zend/Db/Sql#LrEKQK5]]を参照のこと。
223+
198224* Update [#wj5CLPO]
199225Zend\Db\Sql\Sqlクラスのupdateメソッドから呼び出される。
200226**基本的な利用方法 [#nmLH3Nz]
201227** コンストラクタ [#IEdT5sD]
228+:引数|null|string|TableIdentifier $table
229+
230+テーブル名を指定
231+
232+**table [#2Kz2hCu]
233+:引数|string|TableIdentifier $table
234+
235+テーブル名を指定
236+
237+**set [#EgjEkNU]
238+:引数|array $values 連想配列
239+string $flag VALUES_*の値
240+
241+**where [#ufoF0Ek]
242+[[selectメソッドのwhere>Zend/Db/Sql#LrEKQK5]]を参照のこと。
スポンサー