| @@ 179-199 (lines=21) @@ | ||
| 176 | $context->appendParams($args); |
|
| 177 | ||
| 178 | } |
|
| 179 | public function setArgs(Context $context, $values){ |
|
| 180 | $set = []; |
|
| 181 | $params = []; |
|
| 182 | foreach ($values as $k=>$v){ |
|
| 183 | $k = DB::wrap($k); |
|
| 184 | if(is_a($v, Raw::class)){//直接拼接sql,不需要转义 |
|
| 185 | $set[]= "$k=".$v->get(); |
|
| 186 | }else{ |
|
| 187 | $set[]= "$k=?"; |
|
| 188 | $params[]=$v; |
|
| 189 | } |
|
| 190 | } |
|
| 191 | if($this->first){ |
|
| 192 | $this->first = false; |
|
| 193 | $context->appendSql('SET '.implode(',', $set)); |
|
| 194 | $context->appendParams($params); |
|
| 195 | }else{ |
|
| 196 | $context->appendSql(','.implode(',', $set),false); |
|
| 197 | $context->appendParams($params); |
|
| 198 | } |
|
| 199 | } |
|
| 200 | private $first=true; |
|
| 201 | } |
|
| 202 | class OrderByImpl |
|
| @@ 546-566 (lines=21) @@ | ||
| 543 | $context->appendParams($args); |
|
| 544 | ||
| 545 | } |
|
| 546 | public function setArgs($context, $values){ |
|
| 547 | $set = []; |
|
| 548 | $params = []; |
|
| 549 | foreach ($values as $k=>$v){ |
|
| 550 | $k = DB::wrap($k); |
|
| 551 | if(is_a($v, Raw::class)){//直接拼接sql,不需要转义 |
|
| 552 | $set[]= "$k=".$v->get(); |
|
| 553 | }else{ |
|
| 554 | $set[]= "$k=?"; |
|
| 555 | $params[]=$v; |
|
| 556 | } |
|
| 557 | } |
|
| 558 | if($this->first){ |
|
| 559 | $this->first = false; |
|
| 560 | $context->appendSql('ON DUPLICATE KEY UPDATE '.implode(',', $set)); |
|
| 561 | $context->appendParams($params); |
|
| 562 | }else{ |
|
| 563 | $context->appendSql(','.implode(',', $set),false); |
|
| 564 | $context->appendParams($params); |
|
| 565 | } |
|
| 566 | } |
|
| 567 | private $first=true; |
|
| 568 | } |
|
| 569 | ||