Beispiel #1
0
 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();
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 /**
  * 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();
 }