Ich versuche, eine Abfrage-Vorlage für wie so zu schreiben:Slick - Parameter werden in einer Abfrage Template ignoriert
val byIdentifier = for {
(identifier, issuer) <- Parameters[(String, String)]
o <- Objects if (o.identifier === identifier) && (o.identifierIssuer === issuer)
} yield o
Und es dann wie folgt verwenden:
def findByIdentifier(id: String, issuer: String): Option[Object] =
byIdentifier(id, issuer).firstOption
Objects
ist eine Tabelle mit erhobener Einbettung:
case class Object(val identifer: String, val identifierIssuer: String)
object Objects extends Table[Object]("objects") {
def identifier = column[String]("identifier")
def identifierIssuer = column[String]("identifier_issuer")
...
}
Das Problem, das ich erlebt habe, ist, dass findByIdentifier("asdf", "weqr")
eine Abfrage mit einem 0 erzeugtKlausel, die nur false
ist:
select ... from "objects" where false
Was ich in meiner Anfrage Vorlage fehle richtige Abfrage zu haben?
Dies kann oder keinen Unterschied machen kann. Haben Sie versucht, 'is' anstelle von' === 'in den Filterbedingungen zu verwenden? –