NilPortugues\Laravel5\JsonApi\Eloquent\EloquentHelper::sort PHP Method

sort() protected static method

protected static sort ( NilPortugues\Laravel5\JsonApi\JsonApiSerializer $serializer, Builder $builder, Model $model ) : Builder
$serializer NilPortugues\Laravel5\JsonApi\JsonApiSerializer
$builder Illuminate\Database\Eloquent\Builder
$model Illuminate\Database\Eloquent\Model
return Illuminate\Database\Eloquent\Builder
    protected static function sort(JsonApiSerializer $serializer, Builder $builder, Model $model)
    {
        $mapping = $serializer->getTransformer()->getMappingByClassName(get_class($model));
        $sorts = RequestFactory::create()->getSort()->sorting();
        if (!empty($sorts)) {
            $aliased = $mapping->getAliasedProperties();
            $sortsFields = str_replace(array_values($aliased), array_keys($aliased), array_keys($sorts));
            $sorts = array_combine($sortsFields, array_values($sorts));
            foreach ($sorts as $field => $direction) {
                $builder->orderBy($field, $direction === 'ascending' ? 'ASC' : 'DESC');
            }
        }
        return $builder;
    }