2013-07-16 5 views
7

Kann mir bitte jemand sagen, wie vergleichen wir eine Tabelle Spalte gegen NULL mit slick angehoben Einbettung.Slick vergleichen Tabelle Spalte mit null

Was will ich in MySQL erreichen:

select * from Users where email = '<some_email_addr>' and (removed = NULL OR removed <= 1) 

Es gibt mir einen Fehler bei x.removed === null, wenn ich versuche:

val q = for { 
    x <- Users 
     if x.email === email && (x.removed === null || x.removed <= 1) 
} yield x.removed 

Dank

Antwort

16

Versuchen:

x.removed.isNull 

Ich denke, das ist, was Sie für

+0

Toll das hat funktioniert :) – Sameerel

+9

'isNull' und' isNotNull' wurden veraltet und durch 'isEmpty' und' isDefined' ersetzt. Quelle: [Slick-Dokumentation] (http://slick.typesafe.com/doc/2.1.0-RC2/upgrade.html) –

3

Versuchen

x.removed.isEmpty() 

Es gibt keine nulls in scala ;-)

+0

Danke..aber ich versuchte das und jetzt bekommen: Wert isEmpty ist kein Mitglied von scala.slick.lifted.Column [Option [Int]] – Sameerel

+0

. IsNull ist die richtige Antwort - es kann nicht NULL in sein scala aber gibt es sicherlich in SQL! Ich muss allerdings zugeben, dass ich auch die normalen Option [] Methoden verwenden wollte. Wäre super, wenn Slick .isEmpty/.isDefined hinzufügt, um es mehr Scala-like zu machen. – markltbaker

+1

In Scala sind sicherlich Nullen erlaubt. Sie sind fast immer eine schlechte Idee und werden fast nie benutzt. – nafg