lithium\data\source\http\adapter\CouchDb::delete()
Implements
lithium\data\Source::delete()
Delete document.
Parameters
-
string
$query
-
array
$options
Returns
booleanFilter
This method can be filtered.
Source
public function delete($query, array $options = array()) {
$params = compact('query', 'options');
$conn =& $this->connection;
$config = $this->_config;
return $this->_filter(__METHOD__, $params, function($self, $params) use (&$conn, $config) {
$query = $params['query'];
$params = $query->export($self);
list($_path, $conditions) = $params['conditions'];
$data = $query->data();
if (!empty($data['rev'])) {
$conditions['rev'] = $data['rev'];
}
$result = json_decode($conn->delete("{$config['database']}/{$_path}", $conditions));
$result = (isset($result->ok) && $result->ok === true);
if ($query->entity()) {
$query->entity()->sync(null, array(), array('dematerialize' => true));
}
return $result;
});
}