/** * Search categories. * * @param key the key word */ public static List<ReportingCategory> getReportingCategoryAsListByKeywords(String key) { String sql = "SELECT rc.id FROM `reporting_category` rc LEFT OUTER JOIN `i18n_messages` im ON im.key = rc.name WHERE rc.deleted = 0"; sql += " AND (im.language = '" + Http.Context.current().lang().code() + "' OR im.language IS NULL)"; sql += " AND (rc.name LIKE \"" + key + "%\" OR im.value LIKE \"" + key + "%\") "; RawSql rawSql = RawSqlBuilder.parse(sql).columnMapping("rc.id", "id").create(); return findReportingCategory.query().setRawSql(rawSql).findList(); }