Zend/Db/Sqlの変更点

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 移動:バックアップ
  • バージョン:(Rev:mhvkb6Qy6P)2014-04-09 14:41:35
  • 直前のバージョン:(Rev:6yLzUZ3Rv6)2014-04-09 09:41:15

OldNew差分
122122** where [#LrEKQK5]
123123:引数|Where|\Closure|string|array|Predicate\PredicateInterface $predicate
124124string $combination Predicate\PredicateSetで定義されている OP_* の中から一つ
125-
125+
126126Where句を設定
127127#sh(php){$select->where(array("id"=>1, "name"=>"yamada"));}
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-
131+Predicate\PredicateSet(__getを使っているのが若干不安ではあるが、指定するメソッドが見当たらない)
132+#sh(php){{
133+$nest = $select->where->nest();
134+$nest->equalTo("name", "yamada");
135+$nest->__get(Zend\Db\Sql\Predicate\PredicateSet::OP_OR);
136+$nest->equalTo("age", "20");
137+$nest->unnest();
138+}}
139+ WHERE (`name` = 'yamada' OR `age` = '20')
140+#sh(php){{
141+$nest = $select->where->nest();
142+ $nest2_1 = $nest->nest();
143+ $nest2_1->equalTo("name", "yamada");
144+ $nest2_1->__get(Zend\Db\Sql\Predicate\PredicateSet::OP_OR);
145+ $nest2_1->equalTo("name", "tanaka");
146+ $nest2_1->unnest();
147+$nest->__get(Zend\Db\Sql\Predicate\PredicateSet::OP_AND);
148+ $nest2_2 = $nest->nest();
149+ $nest2_2->equalTo("age", "10");
150+ $nest2_2->__get(Zend\Db\Sql\Predicate\PredicateSet::OP_OR);
151+ $nest2_2->equalTo("age", "20");
152+ $nest2_2->unnest();
153+$nest->unnest();
154+}}
155+ WHERE ((`name` = 'yamada' OR `name` = 'tanaka') AND (`age` = '10' OR `age` = '20'))
132156** group [#8OTtXtP]
133157:|引数|string|array
134158
スポンサー