orderBy(iteratees, orders) {
        const orderByDescriptor = {
            type: ORDER_BY,
            payload: [iteratees, orders],
        };

        /**
         * create a new QuerySet
         * sorting all rows according to the passed arguments
         */
        return this._new(this.clauses.concat(orderByDescriptor));
    }
Returns a new {@link QuerySet} instance with entities ordered by `iteratees` in ascending
order, unless otherwise specified. Delegates to [Lodash orderBy](https://lodash.com/docs/#orderBy).

@param  {string[]|Function[]} iteratees - an array where each item can be a string or a
                                          function. If a string is supplied, it should
                                          correspond to property on the entity that will
                                          determine the order. If a function is supplied,
                                          it should return the value to order by.
@param {Array<Boolean|'asc'|'desc'>} [orders] - the sort orders of `iteratees`. If unspecified, all iteratees
                              will be sorted in ascending order. `true` and `'asc'`
                              correspond to ascending order, and `false` and `'desc'`
                              to descending order.
@return {QuerySet} a new {@link QuerySet} with objects ordered by `iteratees`.