RepositoryQuery: Allow to ignore any default sort rules
This commit is contained in:
parent
39ea81ac7b
commit
ca112af9ad
|
@ -218,12 +218,13 @@ class RepositoryQuery implements QueryInterface, Iterator
|
||||||
* If called without a specific column, the repository's defaul sort rules will be applied.
|
* If called without a specific column, the repository's defaul sort rules will be applied.
|
||||||
* This notifies the repository about each column being required as filter column.
|
* This notifies the repository about each column being required as filter column.
|
||||||
*
|
*
|
||||||
* @param string $field The name of the column by which to sort the query's result
|
* @param string $field The name of the column by which to sort the query's result
|
||||||
* @param string $direction The direction to use when sorting (asc or desc, default is asc)
|
* @param string $direction The direction to use when sorting (asc or desc, default is asc)
|
||||||
|
* @param bool $ignoreDefault Whether to ignore any default sort rules if $field is given
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function order($field = null, $direction = null)
|
public function order($field = null, $direction = null, $ignoreDefault = false)
|
||||||
{
|
{
|
||||||
$sortRules = $this->repository->getSortRules();
|
$sortRules = $this->repository->getSortRules();
|
||||||
if ($field === null) {
|
if ($field === null) {
|
||||||
|
@ -240,7 +241,7 @@ class RepositoryQuery implements QueryInterface, Iterator
|
||||||
if ($direction !== null || !array_key_exists('order', $sortColumns)) {
|
if ($direction !== null || !array_key_exists('order', $sortColumns)) {
|
||||||
$sortColumns['order'] = $direction ?: static::SORT_ASC;
|
$sortColumns['order'] = $direction ?: static::SORT_ASC;
|
||||||
}
|
}
|
||||||
} elseif (array_key_exists($field, $sortRules)) {
|
} elseif (! $ignoreDefault && array_key_exists($field, $sortRules)) {
|
||||||
$sortColumns = $sortRules[$field];
|
$sortColumns = $sortRules[$field];
|
||||||
if (! array_key_exists('columns', $sortColumns)) {
|
if (! array_key_exists('columns', $sortColumns)) {
|
||||||
$sortColumns['columns'] = array($field);
|
$sortColumns['columns'] = array($field);
|
||||||
|
|
Loading…
Reference in New Issue