Hoa central
Update.php
Go to the documentation of this file.
1 <?php
2 
37 namespace Hoa\Database\Query;
38 
47 class Update extends Where implements Dml
48 {
54  protected $_table = null;
55 
61  protected $_or = null;
62 
68  protected $_set = [];
69 
70 
71 
77  public function rollback()
78  {
79  return $this->_or('ROLLBACK');
80  }
81 
87  public function abort()
88  {
89  return $this->_or('ABORT');
90  }
91 
97  public function replace()
98  {
99  return $this->_or('REPLACE');
100  }
101 
107  public function fail()
108  {
109  return $this->_or('FAIL');
110  }
111 
117  public function ignore()
118  {
119  return $this->_or('IGNORE');
120  }
121 
128  protected function _or($or)
129  {
130  $this->_or = $or;
131 
132  return $this;
133  }
134 
141  public function table($table)
142  {
143  $this->_table = $table;
144 
145  return $this;
146  }
147 
155  public function set($name, $value)
156  {
157  $this->_set[$name] = $value;
158 
159  return $this;
160  }
161 
167  public function __toString()
168  {
169  $out = 'UPDATE';
170 
171  if (null !== $this->_or) {
172  $out .= ' OR ' . $this->_or;
173  }
174 
175  $out .= ' ' . $this->_table;
176  $set = [];
177 
178  foreach ($this->_set as $name => $value) {
179  $set[] = $name . ' = ' . $value;
180  }
181 
182  $out .= ' SET ' . implode(', ', $set);
183 
184  return $out . parent::__toString();
185  }
186 }
set($name, $value)
Definition: Update.php:155