Skip to content

Instantly share code, notes, and snippets.

@tango238
Last active April 13, 2016 02:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tango238/418f45bb68c821bd26c5a068bd3eef18 to your computer and use it in GitHub Desktop.
Save tango238/418f45bb68c821bd26c5a068bd3eef18 to your computer and use it in GitHub Desktop.
Play2.5, Slick3.1
[info] Compiling 1 Scala source to /Users/Go/Works/myproject/target/scala-2.11/classes...
[error] /Users/Go/Works/myproject/app/repositories/UserRepository.scala:15: type mismatch;
[error] found : slick.profile.SqlAction[Option[models.Tables.UserRow],slick.dbio.NoStream,slick.dbio.Effect.Read]
[error] required: slick.dbio.DBIOAction[Option[models.Tables.User],slick.dbio.NoStream,Nothing]
[error] def findById(id: Long): Future[Option[User]] = db.run(User.filter(_.id === id.bind).result.headOption)
[error] ^
[[syntax trees at end of typer]] // UserRepository.scala
package repositories {
import javax.inject.{Inject, Singleton};
import models.Tables._;
import play.api.db.slick._;
import scala.concurrent.Future;
import slick.driver.JdbcProfile;
import slick.driver.MySQLDriver.api._;
@javax.inject.Singleton class UserRepository extends AnyRef with play.api.db.slick.HasDatabaseConfigProvider[slick.driver.JdbcProfile] {
<paramaccessor> private[this] val dbConfigProvider: play.api.db.slick.DatabaseConfigProvider = _;
<stable> <accessor> <paramaccessor> def dbConfigProvider: play.api.db.slick.DatabaseConfigProvider = UserRepository.this.dbConfigProvider;
@javax.inject.Inject def <init>(dbConfigProvider: play.api.db.slick.DatabaseConfigProvider): repositories.UserRepository = {
UserRepository.super.<init>();
()
};
def findById(id: Long): scala.concurrent.Future[Option[models.Tables.User]] = UserRepository.this.db.run[R](User.filter(((x$1: models.Tables.User) => x$1.id.$eq$eq$eq(id.bind))).result.headOption)
}
}
[error] one error found
[error] (compile:compileIncremental) Compilation failed
package repositories
import javax.inject.{Inject, Singleton}
import models.Tables._
import play.api.db.slick._
import scala.concurrent.Future
import slick.driver.JdbcProfile
import slick.driver.MySQLDriver.api._
@Singleton
class UserRepository @Inject()(val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
def findById(id: Long): Future[Option[User]] = db.run(User.filter(_.id === id.bind).result.headOption)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment