code: function resultRaw (results) {
      // throw error if results required and not retrieved
      if (this.args.required && !results.length) {
          // throw error
          throw this.error('no records found')
      }
      // if only ids were selected the return result object to fetch records
      if (this.select.isSelectOnlyIds) {
          // build result object
          var result = new ImmutableCoreModelResult({
              query: this,
              results: results,
          })
          // return result or all records if specified
          return this.args.all ? result.all() : result
      }
      // otherwise return ImmutableCoreModelInstance record(s)
      else {
          // query is for a single record
          if (this.args.limit === 1) {
              // return new instance or undefined
              return results.length
                  ? this.newInstance(results[0])
                  : undefined
          }
          // query is for multiple records
          else {
              return _.map(results, result => this.newInstance(result))
          }
      }
  }
docs: @function resultRaw
  
  bulid query result with raw data
  
  @param {array} results
  
  @returns {Promise}