code: function() {
      var self = this.chain()
      var args = this.definition.store.utils.args(arguments)
      var primaryKeys = self.definition.primaryKeys
  
      var where = {}
      var callback
      var findOne = true
  
      if (typeof args[args.length - 1] === 'function') {
        callback = args.pop()
      }
      
      if (args.length === primaryKeys.length) {
        var validKey = false
  
        for (var i = 0; i < primaryKeys.length; i++) {
          if (args[i]) {
            where[primaryKeys[i]] = args[i]
            validKey = true
            if (Array.isArray(args[i])) {
              findOne = false
            }
          }
        }
        if(validKey) args = [where]
      }
  
      if (callback) {
        args.push(callback)
      }
  
      // if null was given to find!
      if (args.length === 0 || (args.length === 1 && (args[0] === null || args[0] === undefined))) {
        self.addInternal('exec_null', true)
        return self
      }
  
      if (findOne) self.singleResult()
  
      return self.where.apply(self, args)
    }
docs: Find one or multiple records by their primary key
  @class Model
  @method find
  @param {integer} id - Find one record by their primary key
  @param {function} callback - Optional: The `exec` callback
  @or
  @param {array} ids - Find multiple record by their primary key
  @param {function} callback - Optional: The `exec` callback
  
  @callback
  @param {array|object} result - Either a Collection of records or a single Record
  @this Collection
  
  @return {Model}