SQLBoiler выбрать из другой таблицы в `AndIn` - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь следовать примерам в sqlboiler (https://github.com/volatiletech/sqlboiler). Но я не могу найти способ добавить еще одну таблицу в предложение AndIn, так как любое Where приводит к возвращению двух значений.

users, err := models.Users(
  Select("id", "name"),
  Where("age > ?", 30),
  AndIn("c.kind in ?", "visa", "mastercard"),
).All(ctx, db)

В этом примере, если бы мы могли получить фильтр для способа извлечения значений из другой таблицы, это было бы эквивалентно SQL.

Один из способов сделать это - получить значения отдельно, а затем передать их как переменную.

Спасибо!

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете использовать произвольный SQL в Where.

users, err := models.Users(
  Select("id", "name"),
  Where("age > ?", 30),
  Where("c.kind IN (select kind from your_other_table)"),
).All(ctx, db)

WhereIn, AndIn - просто удобные функции для автоматического создания списка переменного количества заполнителей.WhereIn("x in ?", "a", "b") совпадает с Where("x in (?, ?)", "a", "b").Если вам это не нужно, просто используйте обычный Where.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...