Zend/Db/Sqlの変更点

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

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]
7070#sh(php){{
7171$sql = new Zend\Db\Sql\Sql($adapter);
7272$select=$sql->select();
73-$select->into("test");
74-$select->values(array("id"=>"1","name"=>"hoge"));
73+$select->from("test");
74+$select->columns(array("id"=>"rev_id", "name"=>"rev_name", "value"=>"rev_value"));
75+$select->where(array("name"=>"yamada", "value > 100"));
76+$select->limit(1);
7577echo $sql->getSqlStringForSqlObject($select);
7678}}
77-
79+ 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
7880** コンストラクタ [#U0lUGlM]
7981:引数|null|string|array|TableIdentifier $table
80-
82+
8183テーブル名を指定する
8284ここで指定するとread onlyになり、fromから指定できなくなる
83-
85+
8486** from [#vHKbmez]
8587:引数|string|array|TableIdentifier $table
86-
88+
8789テーブル名を指定する
8890コンストラクタで指定した場合、指定できない
89-
91+
9092** quantifier [#wh64NXe]
9193:引数|string|Expression $quantifier DISTINCT|ALL
92-
94+
9395DISTINCT属性を設定するか。
94-
96+
9597** columns [#StzSgn0]
9698:引数|array $columns
97-
99+
98100selectするカラム名を指定する
99101連想配列の場合、''key値がエイリアス名''になる。
100102#sh(php){$select->columns(array("*"));}
103105 `test`.`id` AS `id`, `test`.`name` AS `name`, `test`.`value` AS `value`
104106#sh(php){$select->columns(array("id"=>"rev_id", "name"=>"rev_name", "value"=>"rev_value"));}
105107 `test`.`rev_id` AS `id`, `test`.`rev_name` AS `name`, `test`.`rev_value` AS `value`
106-
108+
107109** join [#slAKJ1d]
108110:引数|string|array $name
109111string $on
110112string|array $columns
111113string $type JOIN_*の中から一つ
112-
114+
113115結合設定
114116JOIN_INNER、JOIN_OUTER、JOIN_LEFT、JOIN_RIGHTの4種類が指定可能
115117#sh(php){$select->join("test2", "test.id = test2.id", Zend\Db\Sql\Select::SQL_STAR, Zend\Db\Sql\Select::JOIN_LEFT);}
116118 `test2`.* FROM `test` LEFT JOIN `test2` ON `test`.`id` = `test2`.`id`
117119#sh(php){$select->join("test2", "test.id = test2.id", array("id", "name", "age"), Zend\Db\Sql\Select::JOIN_LEFT);}
118120 `test2`.`id` AS `id`, `test2`.`name` AS `name`, `test2`.`age` AS `age` FROM `test` LEFT JOIN `test2` ON `test`.`id` = `test2`.`id`
119-
121+
120122** where [#LrEKQK5]
121123:引数|Where|\Closure|string|array|Predicate\PredicateInterface $predicate
122124string $combination Predicate\PredicateSetで定義されている OP_* の中から一つ
123-
125+
124126Where句を設定
125127#sh(php){$select->where(array("id"=>1, "name"=>"yamada"));}
126128 WHERE `id` = '1' AND `name` = 'yamada'
127129#sh(php){$select->where(array("id"=>1, "name"=>"yamada"), Zend\Db\Sql\Predicate\PredicateSet::OP_OR);}
128130 WHERE `id` = '1' OR `name` = 'yamada'
129-
131+Predicate\PredicateInterface
132+#sh(php){{
133+$nest = $select->where->nest();
134+ $nest->equalTo("name", "yamada");
135+ $nest->OR->equalTo("age", "20");
136+$nest->unnest();
137+}}
138+ WHERE (`name` = 'yamada' OR `age` = '20')
139+#sh(php){{
140+$nest = $select->where->nest();
141+ $nest2_1 = $nest->nest();
142+ $nest2_1->equalTo("name", "yamada");
143+ $nest2_1->OR->equalTo("name", "tanaka");
144+ $nest2_1->unnest();
145+ $nest2_2 = $nest->AND->nest();
146+ $nest2_2->equalTo("age", "10");
147+ $nest2_2->OR->equalTo("age", "20");
148+ $nest2_2->unnest();
149+$nest->unnest();
150+}}
151+ 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'))
130167** group [#8OTtXtP]
131168:|引数|string|array
132-
169+
133170グループ設定
134171#sh(php){$select->group("name");}
135172 GROUP BY `name`
136-
173+
137174** having [#aDnoqCD]
138175:引数|Where|\Closure|string|array $predicate
139176string $combination One of the OP_* constants from Predicate\PredicateSet
140-
177+
141178#sh(php){$select->having(array("age"=>10, "weight"=>20));}
142179 HAVING `age` = '10' AND `weight` = '20'
143-
180+
144181** order [#LBspsa8]
145182:引数|string|array $order
146-
183+
147184オーダー設定
148185#sh(php){$select->order("name DESC");}
149186 ORDER BY `name` DESC
150187#sh(php){$select->order("name ASC");}
151188 ORDER BY `name` ASC
152-
189+
153190** limit [#jolzJvg]
154191:引数|int $limit
155-
192+
156193Limit設定
157194#sh(php){$select->limit(1);}
158195 LIMIT 1
159-
196+
160197** offset [#zD1URqW]
161198:引数|int $offset
162199
167204:引数|Select $select
168205string $type
169206string $modifier
170-
207+
171208* Delete [#FY0yK4i]
172209Zend\Db\Sql\Sqlクラスのdeleteメソッドから呼び出される。
173210**基本的な利用方法 [#lBWhe9H]
174-** コンストラクタ [#qNzPl6x]
175-
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+
176224* Update [#wj5CLPO]
177225Zend\Db\Sql\Sqlクラスのupdateメソッドから呼び出される。
178226**基本的な利用方法 [#nmLH3Nz]
179227** コンストラクタ [#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]]を参照のこと。
スポンサー