buildStr method

  1. @override
String buildStr(
  1. QueryBuilder queryBuilder
)
override

Implementation

@override
String buildStr(QueryBuilder queryBuilder) {
  if (mJoins.isEmpty) {
    return '';
  }

  final sb = StringBuffer();
  for (var j in mJoins) {
    if (sb.length > 0) {
      sb.write(' ');
    }

    sb.write(joinTypeToSql(j.type));
    sb.write(' JOIN ');

    if (j.table is String) {
      sb.write(j.table);
    } else {
      sb.write('(');
      sb.write(j.table.toString());
      sb.write(')');
    }

    if (!Util.isEmpty(j.alias)) {
      sb.write(' AS ');
      sb.write(j.alias);
    }

    String conditionStr;
    if (j.condition is String) {
      conditionStr = j.condition.toString();
    } else {
      conditionStr = j.condition.toString();
    }

    if (!Util.isEmpty(conditionStr)) {
      sb.write(' ON (');
      sb.write(conditionStr);
      sb.write(')');
    }
  }

  return sb.toString();
}