9
Sto seguendo le linee guida di Slick documentation e non capisco che cosa sto facendo male qui:Scala, Giocare quadro problema Slick - non poteva trovare valore implicito per il parametro rconv
package models
import scala.slick.session.Database
import Database.threadLocalSession
import scala.slick.jdbc.{GetResult, StaticQuery => Q}
import javax.sql.DataSource
import Q.interpolation
object Data {
case class User(user: String, password: String)
lazy val db = Database.forName("default")
def result: Option[User] = {
db.withSession {
sql"SELECT user, password FROM user WHERE user = 'user' AND password = 'pass'".as[User]
}
}
}
La linea
sql"SELECT user, password FROM user WHERE user = 'user' AND password = 'pass'".as[User]
mi sta dando questa:
Multiple markers at this line
- could not find implicit value for parameter rconv: scala.slick.jdbc.GetResult[models.Data.User]
- could not find implicit value for parameter rconv: scala.slick.jdbc.GetResult[models.Data.User]
che cosa sto facendo male qui?
Giocare 2.2.0 Framework, Scala 2.10.3, Slick 1.0.1
Ma dove questa funzione di conversione dovrebbe esistere? all'interno della classe User? All'interno della funzione che sta eseguendo la query? altrove? Questa è la domanda a cui non ho mai risposto. Inoltre, ogni volta che provo a farlo, ottengo l'errore "Espansione implicita dell'espansione" –
@EricHartford Nel mio esempio l'ho messo all'interno dell'oggetto 'Data' appena sotto' Case class User', non so se questo aiuti. Inoltre, guarda le altre mie domande sullo stesso argomento: ho risolto una mezza dozzina di domande. – Caballero
Non importa dove lo metti, purché sia nella portata. In alcune circostanze, Scala importa automaticamente le implicazioni presenti negli oggetti associati, quindi nell'oggetto complementare "Utente" potrebbe essere un buon posto. – pedrofurla