public function scopeSort($query, $field = null, $sort = null)
    {
        /*
         * Make sure both the field and sort variables are present
         */
        if ($field && $sort) {
            /*
             * Retrieve all column names for the current model table
             */
            $columns = Schema::getColumnListing($this->getTable());

            /*
             * Make sure the field inputted is available on the current table
             */
            if (in_array($field, $columns)) {

                /*
                 * Make sure the sort input is equal to asc or desc
                 */
                if ($sort === 'asc' || $sort === 'desc') {
                    /*
                     * Return the query sorted
                     */
                    return $query->orderBy($field, $sort);
                }
            }
        }

        /*
         * Default to latest scope
         */
        return $query->latest();
    }
public function scopeSort($query, $field = null, $sort = null)
    {
        /*
         * Make sure both the field and sort variables are present
         */
        if ($field && $sort) {
            /*
             * Retrieve all column names for the current model table
             */
            $columns = Schema::getColumnListing($this->getTable());

            /*
             * Make sure the field inputted is available on the current table
             */
            if (in_array($field, $columns)) {

                /*
                 * Make sure the sort input is equal to asc or desc
                 */
                if ($sort === 'asc' || $sort === 'desc') {
                    /*
                     * Return the query sorted
                     */
                    return $query->orderBy($field, $sort);
                }
            }
        }

        /*
         * Default to latest scope
         */
        return $query->latest();
    }
public function scopeSort ( $ query , $ field = null , $ sort = null ) { /*
         * Make sure both the field and sort variables are present
         */ if ( $ field && $ sort ) { /*
             * Retrieve all column names for the current model table
             */ $ columns = Schema :: getColumnListing ( $ this -> getTable ( ) ) ; /*
             * Make sure the field inputted is available on the current table
             */ if ( in_array ( $ field , $ columns ) ) { /*
                 * Make sure the sort input is equal to asc or desc
                 */ if ( $ sort === 'asc' || $ sort === 'desc' ) { /*
                     * Return the query sorted
                     */ return $ query -> orderBy ( $ field , $ sort ) ; } } } /*
         * Default to latest scope
         */ return $ query -> latest ( ) ; }
Allows all columns on the current database table to be sorted through
query scope.

@param object $query
@param string $field
@param string $sort

@return object
Allows all columns on the current database table to be sorted through query scope .