Обернуть запрос Datascript в функцию? - PullRequest
0 голосов
/ 29 мая 2020

Возникла, казалось бы, странная проблема с Datascript. По какой-то причине, когда я запускаю этот запрос, не завернув его в функцию, все работает. Но как только я помещаю его в функцию, он возвращает значение для: block / content для каждого объекта в базе данных. Я сбит с толку, потому что в прошлом у меня не возникало проблем с переносом других запросов Datascript. Кто-нибудь более опытный, чем я, с Datascript видит какие-либо проблемы?

;; Works fine and returns the correct value
(ds/q '[:find ?block-text
        :where
        [?id :block/id "l_63xa4m1"]
        [?id :block/content ?block-text]]
      @conn)

;; Returns every value for `:block/content` in the db
(defn content-find
  [id-passed]
  (ds/q '[:find ?block-text
          :where
          [?id :block/id ?id-passed]
          [?id :block/content ?block-text]]
        @conn))
(content-find "l_63xa4m1")

EDIT: Решено по здесь

1 Ответ

1 голос
/ 30 мая 2020

В вашей версии defn вы используете предложение запроса [?id :block/id ?id-passed]. На самом деле здесь не используется параметр id-passed, который вы передали функции.

Я не уверен, как правильно передавать параметры. Я считаю, что есть пункт :in или около того?

...