Ist es möglich, esqueleto zu verwenden, um eine Abfrage zu erstellen, die einen konstanten Wert zurückgibt? Wie zum Beispiel SELECT 1
.Esqueleto-Abfrage, die konstanten Wert zurückgibt
1
A
Antwort
1
Versuchen Sie folgendes:
import Database.Esqueleto
-- | We have to specialize `val` or else the type inferencer
-- will complain about the `Esqueleto` instance.
val_ :: Int -> SqlExpr (Value Int)
val_ = val
query :: SqlPersistT IO [Value Int]
query = select $ return (val_ 1)
@ chi Kommentar war in der Nähe, aber die 1
benötigt in eine SqlExpr
gehoben werden. val
wird generisch geschrieben und hängt von einer Klasseninstanz Esqueleto
ab. Normalerweise würde der Typinterferenziator dies erfassen, sobald Sie from
verwendet und eine SQL-Tabelle abgerufen haben, aber da nichts davon verfügbar ist, müssen wir uns manuell spezialisieren.
Insgesamt ein gutes Beispiel dafür, wie Typklassen Bedeutungen verschleiern und Menschen zwingen können, sich an Dokumentation oder Foren zu wenden.
Verwandte Themen
- 1. C++ zirkuläre Abhängigkeit, die nach Wert zurückgibt?
- 2. JavaScript benutzerdefinierte Funktion, die unerwarteten Wert zurückgibt
- 3. Set konstanten Wert mit gradle
- 4. Wie erkennt man, ob RDTSC einen konstanten Ratenzählerwert zurückgibt?
- 5. Wert der Funktion zuweisen, die die Referenz zurückgibt
- 6. Welche Bedeutung hat die Funktion, die einen Wert zurückgibt?
- 7. Javascript-Funktion keinen Wert zurückgibt
- 8. erzwingen konstanten Wert Position eines Vektors mit
- 9. Kann nicht konstanten Wert zuweisen Swift
- 10. Accumulate konstanten Wert in Numpy Array
- 11. Konnte keinen konstanten Wert vom Typ
- 12. Wenn die Anweisung true zurückgibt, wenn der erste Selektor des Typs den Wert true zurückgibt
- 13. SSRS 2008 referenzierte Assembly, die falschen Wert zurückgibt
- 14. Gespeicherte Prozedur, die den erwarteten Wert nicht zurückgibt
- 15. Funktion, die den k-ten Wert in binärer Suchbaum zurückgibt
- 16. Überprüfen Sie, ob die SQL-Abfrage einen Wert zurückgibt
- 17. Median-Methode, die einen höheren Wert zurückgibt Median
- 18. Zeichenkette in Javascript vergleichen, die einen booleschen Wert zurückgibt
- 19. Funktion, die einen Wert ohne Kopieren/Verschieben oder Kopieren zurückgibt.
- 20. W2UI multi Auswahl, die nicht den letzten Wert zurückgibt
- 21. AS3: Wie die Elternfunktion den ausgewählten Wert einer ComboBox zurückgibt
- 22. Python-Funktion, die den Wert bei Index 0 zurückgibt?
- 23. Einen konstanten Wert am Anfang definieren Haskell Funktion
- 24. Die Konstanten einer Extension im konstanten Manager verfügbar machen
- 25. Oracle-Datenquelle, die Nullverbindung zurückgibt
- 26. Vb Funktion, die Null zurückgibt
- 27. Funktion, die mehrere Werte zurückgibt
- 28. Batch-Datei, die Ordnergröße zurückgibt
- 29. Funktion, die eine Zeichenfolge zurückgibt
- 30. Codeigniter: Set_uederdata, die NULL zurückgibt
Versuchen Sie 'Select (Return 1)' - kann es jetzt nicht überprüfen, aber es könnte funktionieren. – chi
@chi: leider nicht: 'Keine Instanz für (Database.Esqueleto.Internal.Sql.SqlSelect Int r0)' –