/** * @return \NilPortugues\Api\JsonApi\Http\Request\Parameters\Sorting */ public function getSort() { $sort = $this->getQueryParam('sort'); $sorting = new Sorting(); if (!empty($sort) && is_string($sort)) { $members = \explode(',', $sort); if (!empty($members)) { foreach ($members as $field) { $key = ltrim($field, '-'); $sorting->addField($key, '-' === $field[0] ? 'descending' : 'ascending'); } } } return $sorting; }
public function setUp() { $this->sorting = new Sorting(); $this->sorting->addField('name', 'ascending'); $this->sorting->addField('id', 'descending'); }
public function testItCanAssertAndThrowExceptionForInvalidSortParams() { $fields = new Fields(); $included = new Included(); $sorting = new Sorting(); $errorBag = new ErrorBag(); $hasError = false; try { $sorting->addField('superhero', 'ascending'); QueryObject::assert($this->serializer, $fields, $included, $sorting, $errorBag, Post::class); } catch (QueryException $e) { $hasError = true; } $this->assertTrue($hasError); }