Size: a a a

Saint P Ruby Community

2020 June 03

DE

Dmitry Evgenevich in Saint P Ruby Community
строка плохо читается, а так у тебя обычный sequel, только в конце ".query"
который ты потом можешь использовать в других запросах
источник

AG

Alex G in Saint P Ruby Community
это понятно. но непонятно пока, как собрать из этого select * from <query>
т.е. можно ли вообще это сделать или нет
источник

DE

Dmitry Evgenevich in Saint P Ruby Community
Alex G
это понятно. но непонятно пока, как собрать из этого select * from <query>
т.е. можно ли вообще это сделать или нет
источник

DE

Dmitry Evgenevich in Saint P Ruby Community
DB[:items].from(<query>).select(....)
источник

DE

Dmitry Evgenevich in Saint P Ruby Community
попробуй так, должно сработать
источник

PP

Pavel Peganov in Saint P Ruby Community
Или даже
DB[<query>].select(...)
https://sequel.jeremyevans.net/rdoc/classes/Sequel/Database.html#method-i-5B-5D — ибо если передавать ему НЕ строку, это алиас from.
источник

DE

Dmitry Evgenevich in Saint P Ruby Community
Pavel Peganov
Или даже
DB[<query>].select(...)
https://sequel.jeremyevans.net/rdoc/classes/Sequel/Database.html#method-i-5B-5D — ибо если передавать ему НЕ строку, это алиас from.
👍
источник

AG

Alex G in Saint P Ruby Community
спасибо, попробую
источник

IK

Igor Khodyrev in Saint P Ruby Community
источник

AD

Anton Davydov in Saint P Ruby Community
Alex G
спасибо, попробую
если еще не поздно, в роме все довольно очевидно делается
https://github.com/rom-rb/rom-sql/blob/master/spec/unit/relation/where_spec.rb#L102-L114
источник

AD

Anton Davydov in Saint P Ruby Community
супер лайвхак - смотреть в unit/relation/ папку в тестах для рома, там очень много примеров использования, больше чем в документации
источник

AG

Alex G in Saint P Ruby Community
да, спасибо, я пытался там найти. Но это не совсем то, что я искал.

я делаю какой-то условно сложный запрос с группировкой из нескольких таблиц, а потом хочу сделать из этого
select * from (query) as foo_view where foo_view.aggregated_col = X

Это не относится к какому-то отдельному релейшену. Точнее я и пытался сделать такой релейшен и прописать в нем такой dataset.
Без этого мне нужно делать having, в котором надо повторять вызовы агрегатных функций из селекта.
источник

AG

Alex G in Saint P Ruby Community
Но пока остановился на having все же.
Еще была проблема с применением функции any к массиву (тоже не разобрался 🤦‍♂️)
источник

AG

Alex G in Saint P Ruby Community
в итоге в репозитории у меня написано что-то вроде
        def by_pk(id)
         root
           .having { Sequel.lit('? = ANY(array_agg(id))', id) }
           .one
       end
источник

AG

Alex G in Saint P Ruby Community
а датасет какой-то вот такой
источник

AG

Alex G in Saint P Ruby Community
ну, короче, я еще поищу попозже решение. пока что я прошел затык и нет времени дальше возиться )
источник

AG

Alex G in Saint P Ruby Community
возможно там надо было схему самому прописать, а не делать infer: true. Кажется в этом была проблема. ром брал ее из той таблицы, которая была указана в конфиге релейшена
источник

AD

Andrey Deryabin in Saint P Ruby Community
Ilya Nikolaevich
@davydovanton если не изменяет память, я специально это для чата написали тут же скинул сюда ссылку
Читать Илью уже не модно. Надо слушать его треки!
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Andrey Deryabin
Читать Илью уже не модно. Надо слушать его треки!
Я только один сингл выпустил, а шуму-то, шуму.
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Я для души, не для славы. Для славы надо говно реп читать про секс не танцполе.
источник