Публикации по теме 'arel'


Как выполнять запросы Arel
Иногда Active Record достигает предела. Множество ресурсов (таких как эта статья или этот доклад ) посоветуют вам использовать Арел , но что меня больше всего поразило, когда я попытался использовать арел, так это то, что я мог не нашел подробного руководства по использованию запросов, которые я мог бы построить с помощью Arel . Все они просто предоставили запрос Arel и распечатали to_sql, чтобы доказать, что это правильный запрос. Эта небольшая статья посвящена двум различным..

Вопросы по теме 'arel'

Переопределение методов в ActiveRecord::QueryMethods
Я хочу иметь возможность переопределять определенные методы в ActiveRecord::QueryMethods в образовательных и экспериментальных целях. Пример: User — это класс ActiveRecord, который включает модули, перезаписывающие «порядок» QueryMethod:...
1008 просмотров
schedule 13.01.2023

Как вы можете сделать условное предложение where, используя AREL
Как вы можете сделать условное предложение where? У меня есть задача rake, которая выполняет запрос. Скажем, я строю запрос следующим образом: residentials = Residential.where(:is_active => true) Теперь, если я передам определенный...
13779 просмотров
schedule 13.02.2022

Как указать этот запрос с помощью Squeel?
Предположим, у меня есть модель: class Question < ActiveRecord::Base attr_accessible :title # it has title attribute has_many :pictures end Я хочу определить запрос scope с именем completed , который: Возвращает все...
2348 просмотров
schedule 27.05.2023

Арел: порядок по количеству ассоциаций
Вот что я пытаюсь сделать class Question has_many :votes end class Vote belongs_to :question end Я хочу найти все вопросы, упорядоченные по количеству голосов, которые они имеют. Я хочу выразить это в Arel (в Rails 3) без использования...
2712 просмотров

Как выполнять соединения для подзапросов в AREL в Rails
у меня простая модель class User has_many :logs class Logs связаны обычным образом через внешний ключ logs.user_id. Я пытаюсь сделать следующее, используя Arel, и, согласно документу Arel, это должно работать. u_t =...
5771 просмотров
schedule 08.05.2022

Как решить этот оператор sql, используя только arel
После долгих возни коллега состряпал следующую инструкцию SQL: SELECT id, max(updated_at) FROM ( SELECT (activities.id) as id, (notes.updated_at) as updated_at FROM `activities` INNER JOIN `notes` ON `notes`.`activity_id` =...
406 просмотров
schedule 27.08.2022

Сопоставление атрибута ассоциации вложенной модели с включением
Предположим, у меня есть следующие модели: class Post < ActiveRecord::Base has_many :authors class Author < ActiveRecord::Base belongs_to :post И предположим, что модель Author имеет атрибут name . Я хочу найти все сообщения...
3724 просмотров

Дата проверки не нулевая? (рельсы, арель)
Как вы проверяете в Rails3 (с Arel или без него), заполнена ли дата (например, не нулевая)? Я знаю, что вы можете сделать это, используя: obj.where('PLANNED IS NOT NULL') но возможно ли это без использования SQL? // SQL SELECT * FROM...
8350 просмотров
schedule 10.08.2022

ActiveRecord создает экземпляр неправильного класса через область, нацеленную на класс STI.
Я хотел бы иметь возможность вызывать метод build в области, которая нацелена на определенный класс модели через его тип STI, и заставить ActiveRecord построить экземпляр правильного класса. class LineItem < ActiveRecord::Base scope...
1377 просмотров

Порядок ассоциации Rails 3.2 (ActiveRecord) с быстрой загрузкой и упорядочением
Я столкнулся с этим поведением в рельсах, которое я не могу найти в документации. Похоже, что если вы усложняете запрос ActiveRecord до такой степени, что он объединяет базовый SQL в «сложный» запрос (см. ниже), он не учитывает порядок, указанный в...
5506 просмотров

Rails — объединить несколько проходов has_many
Я только начал работать с Rails, и у меня возникла проблема, которую я не могу решить сам: User.rb: has_many :bid_listings, through: :bids, source: :listing, uniq: true has_many :offer_listings, through: :offers, source: :listing,...
1104 просмотров

Преобразование SQL в Arel или Squeel
tl;dr Как преобразовать ниже SQL в Arel (или что-то, что считается стандартом в Rails) @toplist = ActiveRecord::Base.connection.execute( 'select ci.crash_info_id, count(distinct(user_guid))[Occurences], c.md5 from...
486 просмотров
schedule 08.03.2024

Как я могу создать область в модели, которая возвращает только те объекты с соответствующим рангом, превышающим ранг current_user?
Я пытаюсь создать область :readable в моей модели Page , чтобы вернуть все Pages , которые current_person имеют достаточный «ранг» для чтения: scope :readable, lambda { |current_person| joins(:role_readable)...
1258 просмотров
schedule 31.08.2023

Соберите сложный SQL-запрос, используя Activerecord::Relation и/или Arel с 'соединениями', 'как' и 'подобно'
Я создаю приложение rails 3.2, используя таблицы данных ( http://datatables.net ) с пейджингом на стороне клиента и фильтрацией на большинстве html-таблицы, пейджинг и фильтрация на стороне сервера в некоторых других html-таблицах. Я хочу выполнить...
530 просмотров

Rails Arel, выберите из одного столбца, но из нескольких значений
У меня есть таблица под названием cherry_picker_cherries . Эти записи полиморфно принадлежат модели под названием Pickable . У них может быть несколько записей в таблице для одного и того же выбираемого, но у него всегда разные cherry_pick_id ....
1001 просмотров
schedule 27.06.2022

Почему Relation.size иногда возвращает хэш в Rails 4
Я могу выполнить запрос двумя разными способами, чтобы вернуть отношение. Когда я запрашиваю размер отношения, один запрос дает Fixnum, как и ожидалось, другой дает хеш, который является хэшем каждого значения в выражении Relations Group By с...
1147 просмотров
schedule 10.01.2024

Функция SQL в arel select без создания экземпляра активной записи
Я хочу получить результат SQL в виде хэша из ::ActiveRecord_Relation , потому что создание реальных объектов ActiveRecord выполняется очень медленно. Обычно я использую pluck , а затем заархивирую результат в хэш: keys = [:name, :created_at]...
846 просмотров
schedule 23.12.2022

Как динамически сравнивать объединенную таблицу с исходной
Контекст У меня есть пять моделей: Reward, BrandSubscription, Brand, Tier и User. Brand имеет много Tiers . BrandSubscription принадлежит Tier и User . Reward принадлежит Tier . Tier имеет атрибут с именем order . Если у...
54 просмотров
schedule 16.05.2022

Несколько CTE в одном запросе
Можно ли объединить несколько CTE в одном запросе с помощью arel ? Я ищу способ получить такой результат: WITH 'cte1' AS ( ... ), WITH RECURSIVE 'cte2' AS ( ... ), WITH 'cte3' AS ( ... ) SELECT ... FROM 'cte3' WHERE ... Как видите, у меня...
59068 просмотров

Утечка памяти Arel::Table @aliases при использовании в Rails 5
Обобщающий вопрос в одном предложении: что может привести к увеличению размера массива Arel::Table @aliases при каждом поиске, выполненном с использованием ActiveRecord? Я написал простое веб-приложение с использованием Rails 5. Когда я...
228 просмотров
schedule 14.12.2023