Devise\Support\Sortable\Sort::appendSort PHP Method

appendSort() protected method

protected appendSort ( &$query, $model, $sort ) : mixed
$query
$model
$sort
return mixed
    protected function appendSort(&$query, $model, $sort)
    {
        $relation = null;
        if (isset($sort['relationship'])) {
            $function = $sort['relationship'];
            $relation = $model->{$function}();
            switch (get_class($relation)) {
                case 'Illuminate\\Database\\Eloquent\\Relations\\MorphMany':
                    $query = $this->morphMany($relation, $query, $model, $sort['orderBy'], $sort['dir']);
                    break;
                case 'Illuminate\\Database\\Eloquent\\Relations\\BelongsTo':
                    $query = $this->belongsTo($relation, $query, $model, $sort['orderBy'], $sort['dir']);
                    break;
                case 'Illuminate\\Database\\Eloquent\\Relations\\HasOne':
                    $query = $this->hasOne($relation, $query, $model, $sort['orderBy'], $sort['dir']);
                    break;
            }
        } else {
            if (isset($sort['orderBy'])) {
                $query = $query->orderBy($sort['orderBy'], $sort['dir']);
            }
        }
        return $query;
    }