ActiveRecord Запрос со многими ко многим или другими параметрами - PullRequest
0 голосов
/ 31 марта 2011

У меня 2 модели

  • Проекты (с логическим столбцом «скрытый»)
  • Модель

оба имеют отношение ко многим, поэтому я добавил миграцию с таблицей projects_users и изменил модели, используя

has_and_belongs_to_many :users
# and
has_and_belongs_to_many :projects

Теперь я хочу сделать следующий запрос:

Выбрать все проекты, где скрыто ложное ИЛИ «current_user» (переменная) принадлежит проекту

Project.where ("hidden =?", False) а также current_user.projects работает. Но как объединить их в один запрос?

Ответы [ 2 ]

1 голос
/ 31 марта 2011
Project.joins("projects_users").where("hidden = ? OR projects_users.user_id = ?", false, current_user.id).group("projects.id")
0 голосов
/ 31 марта 2011

Все, что вам нужно сделать, это создать область для них обоих.Затем вы можете проверить их с окном вашей консоли rails

...