Нуб Scala здесь; для жизни я не могу понять, почему я не получаю результат для этого вызова Anorm SQL. Когда я запускаю вывод отладки SQL, он возвращает результат просто отлично, но при запуске кода я получаю пустой список().
Есть ли проблема с моим RowParser? Почему я вижу хороший SQL в выводе отладки, но он не собирается моим значением result
?
Я что-то упустил в своем SQL .as()
, чтобы правильно сопоставить строки результатов с парсером? Когда я удаляю последнюю строку result
, мое значение result
оценивается как единица, что определенно подозрительно.
// Case class - SQL results rows go into List of these
case class PerformanceData(
date: String,
kwh: String
)
// RowParser
val perfData = {
get[String]("reading_date") ~ get[String]("kwh") map{
case reading_date~kwh => PerformanceData(reading_date, kwh)
}
}
// SQL Call - function ret type is Seq[PerformanceData]
DB.withConnection("performance") { implicit connection =>
val result: Seq[PerformanceData] = SQL(
"""
SELECT CONCAT(reading_date) AS reading_date,
CONCAT(SUM(reading)) AS kwh
FROM perf
WHERE reading_date >= DATE_SUB(NOW(), INTERVAL 45 DAY)
AND sfoid IN ({sf_account_ids})
GROUP BY reading_date
ORDER BY reading_date DESC
LIMIT 30
"""
).on(
'sf_account_ids -> getSQLInValues(SFAccountIDs)
).as(
User.perfData *
)
// Logger.debug(result.toString) -> EMPTY LIST!??
result // Why is this necessary to return proper type?
}
IN
в Anorm. - person maba   schedule 10.04.2013