Я пытаюсь связать 2 таблицы вместе и вернуть json из нее, к сожалению, документация и онлайн не очень ясно об этом, поэтому, если вы знаете, как решить эту проблему, пожалуйста, предоставьте фрагмент, из которого я узнаю.
У меня возникают трудности при рендеринге def All: List[(Country, City)]{....}
параметров в вызове json, приведенном ниже:
Вот как я хотел бы вернуть json:
Ok(Json.obj("success" -> true, "CountryAndCities" -> CountryAndCities.All)
All
:
package models
import play.api.db._
import play.api.Play.current
import anorm._
import anorm.SqlParser._
case class Country(id: Option[Int] = None, name: String)
case class City(id: Option[Int] = None, countryId: Int, name: String, population: Int)
object Country {
val simple: RowParser[Country] = {
get[Option[Int]]("country.id") ~
str("country.name") map {
case id~name => Country(id, name)
}
}
}
object City {
def All: List[(Country, City)] = {
DB.withConnection { implicit connection =>
SQL(
"""
SELECT *
FROM city
INNER JOIN country ON city.country_id = country.id
"""
).as(City.withCountry *)
}
}
}