public static function delete_all($options = array()) { $cm = \ActiveRecord\ConnectionManager::instance(); $conn = $cm::get_connection('master'); $table = static::table(); $sql = new SQLBuilder($conn, $table->get_fully_qualified_table_name()); $conditions = is_array($options) ? $options['conditions'] : $options; if (is_array($conditions) && !eh_um_hash($conditions)) { call_user_func_array(array($sql, 'delete'), $conditions); } else { $sql->delete($conditions); } if (isset($options['limit'])) { $sql->limit($options['limit']); } if (isset($options['order'])) { $sql->order($options['order']); } $values = $sql->bind_values(); $ret = $conn->query($table->last_sql = $sql->to_s(), $values); return $ret->rowCount(); }
public function delete($data) { $data = $this->process_data($data); $sql = new SQLBuilder($this->conn, $this->get_fully_qualified_table_name()); $sql->delete($data); $values = $sql->bind_values(); return $this->conn->query($this->last_sql = $sql->to_s(), $values); }
public function delete($data) { $data = $this->processData($data); $sql = new SQLBuilder($this->conn, $this->getFullyQualifiedTableName()); $sql->delete($data); $values = $sql->bindValues(); return $this->conn->query($this->last_sql = $sql->toString(), $values); }
/** * Deletes records matching conditions in $options * * Does not instantiate models and therefore does not invoke callbacks * * Delete all using a hash: * * <code> * YourModel::deleteAll(array('conditions' => array('name' => 'Tito'))); * </code> * * Delete all using an array: * * <code> * YourModel::deleteAll(array('conditions' => array('name = ?', 'Tito'))); * </code> * * Delete all using a string: * * <code> * YourModel::deleteAll(array('conditions' => 'name = "Tito"')); * </code> * * An options array takes the following parameters: * * <ul> * <li><b>conditions:</b> Conditions using a string/hash/array</li> * <li><b>limit:</b> Limit number of records to delete (MySQL & Sqlite only)</li> * <li><b>order:</b> A SQL fragment for ordering such as: 'name asc', 'id desc, name asc' (MySQL & Sqlite only)</li> * </ul> * * @params array $options * return integer Number of rows affected */ public static function deleteAll($options = []) { $table = static::table(); $conn = static::connection(); $sql = new SQLBuilder($conn, $table->getFullyQualifiedTableName()); $conditions = \is_array($options) ? $options['conditions'] : $options; if (\is_array($conditions) && !\is_hash($conditions)) { \call_user_func_array([$sql, 'delete'], $conditions); } else { $sql->delete($conditions); } if (isset($options['limit'])) { $sql->limit($options['limit']); } if (isset($options['order'])) { $sql->order($options['order']); } $values = $sql->bindValues(); $ret = $conn->query($table->last_sql = $sql->toString(), $values); return $ret->rowCount(); }