table = $table; $this->condition = new Condition('AND'); } /** * Executes the DELETE query. * * @return int * The number of rows affected by the delete query. */ public function execute() { $values = []; if (count($this->condition)) { $this->condition->compile($this->connection, $this); $values = $this->condition->arguments(); } return $this->connection->query((string) $this, $values, $this->queryOptions); } /** * Implements PHP magic __toString method to convert the query to a string. * * @return string * The prepared statement. */ public function __toString() { // Create a sanitized comment string to prepend to the query. $comments = $this->connection->makeComment($this->comments); $query = $comments . 'DELETE FROM {' . $this->connection->escapeTable($this->table) . '} '; if (count($this->condition)) { $this->condition->compile($this->connection, $this); $query .= "\nWHERE " . $this->condition; } return $query; } }