Ich muss einen Filter auf ein Attribut einer optionalen Tabelle anwenden, die von einer linken Verknüpfung in scala slick
erstellt wurde. Ich konnte zu dieser oder ähnlichen Fragen keine Dokumentation online finden.So filtern Sie eine optionale Tabelle, die von einem linken Join in slick erstellt wurde
Betrachten Sie die folgende Abfrage:
val query = FirstTable joinLeft SecondTable on (_.foreignId === _.id)
I ist durch ein Attribut des SecondTable
filtern möchten:
query.filter {
case (firstTable, secondTableOpt) => secondTableOpt.attribute === "value"
}
Offensichtlich ist dies nicht kompiliert, da secondTableOpt
ein Rep[Option[SecondTable]]
ist. Es scheint keine .get
Methode auf dem Rep
Objekt zu geben.
Es sollte eine Möglichkeit geben, dies in slick
zu schreiben, weiß jemand, wie man das erreicht?
Danke
Warum Sie nicht filtern 'SecondTable' vor dem Join? –
Naja, weil ich vorher gar nicht ans Filtern gedacht habe! Das ist es wahrscheinlich, vielen Dank! –
Ich werde es als eine Antwort erklären, um es ein bisschen besser zu erklären –