Вопросы с тегом «arel»

5
Рельсы, где условие с использованием NOT NIL
Используя стиль rails 3, я бы написал противоположность: Foo.includes(:bar).where(:bars=>{:id=>nil}) Я хочу найти, где идентификатор не ноль. Я старался: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Но это возвращает: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Это определенно не то, что мне нужно, и почти похоже на ошибку в ARel.

8
Хотите найти записи без связанных записей в Rails
Рассмотрим простую ассоциацию ... class Person has_many :friends end class Friend belongs_to :person end Какой самый чистый способ получить всех людей, у которых НЕТ друзей в ARel и / или meta_where? А потом насчет has_many: через версию class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true end …

8
Объединить два объекта ActiveRecord :: Relation
Предположим, у меня есть следующие два объекта: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation Можно ли объединить два отношения, чтобы получить один ActiveRecord::Relationобъект, содержащий оба условия? Примечание. Мне известно, что я могу объединить усилия, чтобы получить такое поведение, что меня действительно интересует, так …

3
Как сделать LIKE-запрос в Arel и Rails?
Я хочу сделать что-то вроде: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; Моя попытка в Ареле: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql Однако это становится: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Арел правильно оборачивает строку запроса «Смит», но поскольку это оператор LIKE, он не работает. …

4
Что такое Arel в Rails 3.0?
Я понимаю, что это замена ActiveRecord и что он использует объекты вместо запросов. Но... почему так лучше? будет ли "легче" создавать объекты / запросы? приведет ли это к более эффективным SQL-запросам? будет ли он совместим со всеми основными БД? - Думаю, будет. будет ли проще / сложнее использовать хранимые процедуры?

5
Подзапросы в activerecord
С SQL я легко могу выполнять такие подзапросы User.where(:id => Account.where(..).select(:user_id)) Это производит: SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..) Как я могу это сделать с помощью rails '3 activerecord / arel / meta_where? Мне нужны / нужны настоящие подзапросы, без обходных путей (с …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.