9
Tôi đang hướng dẫn của Slick documentation sau và tôi không hiểu những gì tôi đang làm sai ở đây:Scala, Play Khung vấn đề Slick - không thể tìm thấy giá trị tiềm ẩn cho rconv tham số
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]
}
}
}
Dòng
sql"SELECT user, password FROM user WHERE user = 'user' AND password = 'pass'".as[User]
là cho tôi điều này:
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]
tôi đang làm gì sai ở đây?
Chơi khung 2.2.0, Scala 2.10.3, Slick 1.0.1
Nhưng mà chức năng chuyển đổi này nên tồn tại? trong lớp Người dùng? Trong hàm đang thực hiện truy vấn? ở đâu khác? Đó là câu hỏi tôi chưa bao giờ thấy được trả lời. Ngoài ra mỗi khi tôi cố gắng này tôi nhận được "phân tán mở rộng tiềm ẩn" lỗi –
@EricHartford Trong ví dụ của tôi tôi đã đặt nó bên trong 'Data' đối tượng ngay bên dưới' trường hợp lớp User', không biết nếu điều đó giúp. Ngoài ra, hãy tra cứu các câu hỏi khác của tôi về cùng một chủ đề - Tôi đã có một nửa tá câu hỏi được giải quyết. – Caballero
Không thực sự quan trọng nơi bạn đặt nó, miễn là nó nằm trong phạm vi. Trong một số trường hợp, Scala tự động nhập khẩu các implicits có trong các đối tượng đồng hành, vì vậy trong đối tượng đồng hành 'User' có thể là một vị trí tốt. – pedrofurla