SQL Выбрать запрос в kotlin открытом DSL - PullRequest
0 голосов
/ 29 мая 2020

Как переводится следующий запрос SQL в Kotlin Exposed DSL ?

SELECT id FROM `Sessions` WHERE session_id="155924f2-31ff-4c2c-a8fa-7fb0afba0ff8""

Я предполагаю, что каждый session_id уникален в таблице Sessions. Сейчас я использую следующий код. Такое ощущение, что .forEach лишнее. Я не могу найти правильный синтаксис, чтобы избавиться от него.

            var sessionId = "155924f2-31ff-4c2c-a8fa-7fb0afba0ff8"
            var sessionIdInDb = 0
            Sessions.select { Sessions.session_id eq sessionId }.forEach {
                sessionIdInDb = it[Sessions.id].value
            }

1 Ответ

2 голосов
/ 11 июня 2020

Exposed реализует общие методы сбора, такие как first(), позволяя вам написать что-то вроде:

val sessionIdInDb = Sessions
    .select { Sessions.session_id eq "155924f2-31ff-4c2c-a8fa-7fb0afba0ff8" }
    .first()[id]
    .value
...