Size: a a a

2020 July 02

Н

Никита in Go-go!
Владимир Гришин
db.Where(User{Name: "Jinzhu”}).Where(“age > ?”, 22)
ну вот сам запрос уходит за рамки банально чекнуть что поле равно чему-то. Иногда и подзапрос надо фигачить, и какие-то еще штуки сделать
источник

АП

Александр Попов... in Go-go!
Владимир Гришин
вообще я плюсану, что не надо уходить от sql, а то вместо sql придется учить DSL билдера
А фронт какой? :)
источник

ВГ

Владимир Гришин... in Go-go!
Александр Попов
А фронт какой? :)
это не мне, кажется
источник

АП

Александр Попов... in Go-go!
не ангулар? :(
источник

ВГ

Владимир Гришин... in Go-go!
Никита
ну вот сам запрос уходит за рамки банально чекнуть что поле равно чему-то. Иногда и подзапрос надо фигачить, и какие-то еще штуки сделать
берите билдер и таскайте его
источник

ЛА

Локоть Анатолий... in Go-go!
Владимир Гришин
вообще я плюсану, что не надо уходить от sql, а то вместо sql придется учить DSL билдера
Просто если репозиторий работает с sql, то пусть и юзает его на всю катушку. Плохо, когда sql где-то вне репозитория
источник

АП

Александр Попов... in Go-go!
я тут кстати могу вам дать лайфхак по репозиториям
источник

ВГ

Владимир Гришин... in Go-go!
Александр Попов
я тут кстати могу вам дать лайфхак по репозиториям
они не нужны?
источник

АП

Александр Попов... in Go-go!
делайте два интерфейса на сущность, один билдер, второй для круда
источник

АП

Александр Попов... in Go-go!
и в параметры круда передавайте билдер
источник

АП

Александр Попов... in Go-go!
а не какой то там мап
источник

АП

Александр Попов... in Go-go!
interface Users {
    Collection()
    Find(b UserBuilder)
}

interface UserBuilder {
    GetById(userId int) UserBuilder
    GetByName(name string) UserBuilder
}
источник

ЛА

Локоть Анатолий... in Go-go!
Никита
ну вот сам запрос уходит за рамки банально чекнуть что поле равно чему-то. Иногда и подзапрос надо фигачить, и какие-то еще штуки сделать
Подзапрос с exists (..) укладывается в описанную выше схему - конструируете запрос в зависимости от условий
источник

АП

Александр Попов... in Go-go!
а внутри билдера вы можете сделать реализацию запросов под любую бд
источник

АП

Александр Попов... in Go-go!
тупо его реализовав в нужном субпакете
источник

АП

Александр Попов... in Go-go!
скажем для mongodb у вас GetById будет формировать запрос в монгу, для mysql в mysql
источник

ВГ

Владимир Гришин... in Go-go!
Александр Попов
скажем для mongodb у вас GetById будет формировать запрос в монгу, для mysql в mysql
а что делает репозиторий в этой схеме?
источник

АП

Александр Попов... in Go-go!
Владимир Гришин
а что делает репозиторий в этой схеме?
принимает билдер и делать обработку ответа
источник

АП

Александр Попов... in Go-go!
возращает модели или коллекцию моделей
источник

АП

Александр Попов... in Go-go!
(забыл модели!)
источник