Arel is a Relational Algebra for Ruby. It simplifies the generation complex of SQL queries and it adapts to various RDBMS systems.
3 ответа

Фильтрация отношения в Rails

У меня есть это отношение в моем Product модель: has_many :features, :class_name => 'ProductFeature', :source => :product_feature, :include => :feature Так что я могу сделать Product.features который отлично работает Но я хочу иметь возможн…
20 янв '13 в 23:11
2 ответа

Rails Arel, выберите из одного столбца, но несколько значений

У меня есть стол cherry_picker_cherries, Эти записи полиморфно принадлежат модели под названием Pickable, Они могут иметь несколько записей в таблице для одного и того же выбора, но он всегда имеет разные cherry_pick_id, Моя проблема: у меня есть ви…
10 фев '14 в 23:07
1 ответ

Вставьте большое подмножество одной таблицы в другую

Переписать приложение Rails 2 на Rails 3. Могу ли я сделать заявление SQL INSERT INTO visits (col1, col2) SELECT col_a, col_b FROM clicks WHERE import_id = 1 с арелом и рубином (без петли). Моя первая мысль была, что я мог сделать Visit.create(Impor…
21 май '11 в 22:28
2 ответа

Не должен `where.not(поле: " что-то ")` включать `где (поле: ноль)`?

Возможно, я схожу с ума, или просто нужен перерыв, но у меня в рельсах консоль Order.where(state: nil).count возвращается 1010, но Order.where.not(state: "pending").count возвращается 0... Если состояние ордера равно нулю, то оно не "в ожидании", по…
14 окт '14 в 21:51
2 ответа

ActiveRecord объединяет текущие где условия при применении области?

Я столкнулся с неожиданным поведением в Active Record (3.2.13): На моей модели есть простая область применения: class User < ActiveRecord::Base scope :verified, lambda { where('verified = 1') } end Это может быть прекрасно использовано самостояте…
30 май '13 в 09:46
1 ответ

Сортировка в named_scope по 2 таблицам с условием

Я ищу решение, как сортировать по атрибуту, который имеет два уровня ассоциации и также имеет условие. У меня есть модель заказа, которая ДОЛЖНА быть связана с моделью магазина ИЛИ моделью склада. Обе эти модели связаны со страной, которая имеет наз…
2 ответа

ActiveRecord ИЛИ для существующих областей

У меня есть существующая модель с набором сложных областей: scope :test1 , where(gift: true) scope :test2 , lambda {|time| where("last_created_at > ?", time)} scope :test3 , where(approved: true) Могу чем то сделать User.test1.test2.test3.all Теп…
2 ответа

Библиотека для преобразования SQL в реляционную алгебру

Существует множество пакетов реляционной алгебры ( arel, axiom, alf), которые генерируют SQL из абстрактного представления запроса. Существуют ли библиотеки, которые позволяют вам пойти другим путем - от SQL до реляционной алгебры?
20 мар '14 в 10:44
2 ответа

Rails / Arel User.where (: id => <Некоторая другая таблица>.user_id)

Эй, я только возвращаюсь к рельсам и забыл много вещей, необходимых для работы с некоторыми ассоциациями. Эта проблема: У меня есть две таблицы, Customer с полями id а также user_id а также User с полем id, Я хочу получить массив Users такой, что Cu…
25 апр '13 в 08:05
3 ответа

Как привести тип данных из Rails connection.execute

У меня есть запрос AREL, который я генерировал с большой болью. Для справки (извините): def self.summarize_user(user) c = Arel::Table.new(:categories) s = Arel::Table.new(:skills) cp = Arel::Table.new(:completions) query = c.project(c[:id], c[:name]…
28 апр '14 в 03:05
1 ответ

Конвертировать оператор SQL в запрос Arel Rails

Итак, давайте прямо: я изо всех сил пытаюсь дни преобразовать этот оператор SQL: select * from ( select distinct on (program_id) editions.*, programs.* from editions inner join programs on editions.program_id = programs.id where programs.station_id …
26 май '17 в 23:44
1 ответ

Как динамически сравнить объединенную таблицу с источником

Контекст У меня есть пять моделей: Reward, BrandSubscription, Brand, Tier и User. Brand имеет много Tiers, BrandSubscription принадлежит к Tier и к User, Reward принадлежит к Tier, Tier имеет атрибут с именем order, Если BrandSubscription иметь боле…
22 дек '15 в 13:12
2 ответа

Рельсы: считать и группировать со связанными таблицами

У меня есть следующие модели: Car: has_many :car_classes CarClass: belongs_to :Car belongs_to :CarMainClass CarMainClass: has_many :car_classes Я хочу подсчитать количество автомобилей в CarClass, сгруппированных по car_main_class_id, но затем связа…
31 июл '13 в 22:21
3 ответа

Rails gem Ransack -> search 'or condition' с 'is null' и определенным значением (field=x OR field IS NULL)

Я сделал систему поддержки для наших сторонников - запрограммирован на ruby ​​на рельсах (Ruby 1.9.3 Rails 3.2) Есть модель билета с belongs_to ассоциация с пользователями (сторонник). Я использую драгоценный камень Эрни Рэнсак для поиска. Когда сто…
18 окт '13 в 10:47
0 ответов

Как применить арель таблицу на список объектов

У меня есть массив объектов контактов, в котором есть поля, такие как имя, фамилия, отчество. Я хочу использовать функцию AREL "match", чтобы перебрать массив контактов и сравнить поля со строкой поиска. Как мне это сделать? У меня есть класс контак…
08 окт '14 в 19:02
1 ответ

Как выполнить массовую вставку данных в таблицу с помощью Rails и одного оператора вставки

У меня есть следующие модели ActiveRecord, Widget, Merchant, Store, StoresWidget (ассоциация многих ко многим) class Merchant &lt; ActiveRecord::Base has_many :stores has_many :widgets end class Widget &lt; ActiveRecord::Base has_many :stores_widget…
1 ответ

SQL или AREL запрос по методу в рельсах

В рельсах, если я хочу найти столбец в таблице, мне просто нужно сделать where поиск, и я могу быстро получить результат. например: openings = Opening.joins(:opening_number).where('opening_numbers.value = ?', value) Однако теперь мне нужно искать по…
25 сен '18 в 23:33
0 ответов

Как я могу эффективно написать этот метод запроса / области рельсов?

Мое приложение имеет Orders которые имеют Cart которые имеют несколько LineItems каждый из которых имеет один Tile или же StaticProduct, Tile а также StaticProduct модели полиморфные "покупные". Я хочу написать метод Order.with_tiles который вернет …
08 авг '12 в 18:26
0 ответов

ActiveRecord, объединяющий отношения

Мне интересно, есть ли лучший способ сделать это: У меня есть 2 сложных отношения с несколькими объединениями, присоединяющимися к Таблице D. Я хочу объединить / объединить их, чтобы получить записи Таблицы D. Следующее работает, но есть ли лучший с…
23 сен '11 в 15:18
3 ответа

Условие верно для ВСЕХ записей в соединении

Я пытаюсь вернуть записи из A, где все соответствующие записи из B удовлетворяют условию. На данный момент мой запрос возвращает записи из A, где есть любая запись из B, которая удовлетворяет условию. Позвольте мне поместить это в сценарий реального…
15 мар '13 в 11:19