select method Null safety

void select(
  1. String key,
  2. String subKey,
  3. NCMBQuery query
)

指定したフィールドを、別なクエリーの検索結果で絞り込む key フィールド名 subKey 別なクエリーの検索対象とするフィールド名 query 別なクエリー

Implementation

void select(String key, String subKey, NCMBQuery query) {
  initWhere();
  var className = '';
  switch (query._name) {
    case 'users':
      className = 'user';
      break;
    case 'roles':
      className = 'role';
      break;
    case 'installations':
      className = 'installation';
      break;
    case 'files':
      className = 'file';
      break;
    default:
      className = query._name;
      break;
  }
  _queries['where'][key] = {};
  var subQuery = query._queries;
  var params = {'className': className, 'where': subQuery['where']};
  if (subQuery.containsKey('limit')) {
    params['limit'] = subQuery['limit'];
  }
  if (subQuery.containsKey('skip')) {
    params['skip'] = subQuery['skip'];
  }
  _queries['where'][key]['\$select'] = {'query': params, 'key': subKey};
}