Вложенные условия И и ИЛИ в методах поиска (не queryBuilder) - PullRequest
1 голос
/ 10 июля 2020

Предварительное условие: я использую Typeorm для выполнения запросов к базе данных, и я не могу использовать методы queryBuilder для создания этого запроса, а только метод find.

Мне нужно перевести запрос например:

SELECT * FROM address where zip = 123 and (street = 'asd' or city = 'New York');

Я знаю, что решение может быть тривиальным с использованием обычного queryBuilder, но в данном конкретном случае я не могу его использовать.

Можно ли реализовать эти вложенные и / или условия только с использованием метода find?

1 Ответ

1 голос
/ 10 июля 2020

Не могли бы вы попробовать это?

Address.find([{
  zip: 123, street: 'asd'
}, {
  zip: 123, city: 'New York'
}]);

если у вас только and, or условия, да! возможно реализовать запрос только методом find. В запросе typeorm вы можете представить or с массивом условий.

zip = 123 and (street = 'asd' or city = 'New York')

совпадает с

(zip = 123 and street = 'asd') or (zip = 123 and city = 'New York')
...