Использование основных объединений в продолжении - PullRequest
0 голосов
/ 23 августа 2011

Я использую гем sequel в Ruby для подключения к базе данных sqlite (предоставленной rails).У меня есть различные User с и Project с.Я хочу найти уникальный объект проекта user.username/project.name, если он существует.Какой самый элегантный способ сделать это?У меня соединение работает и т.д. У меня есть:

DB = Sequel.connect 'sqlite:///path/to/sqlite'
class User < Sequel::Model
end

class Project < Sequel::Model
end

# How do I retrieve the project object using project_name, user_name
#   project.name == project_name
#   project.user_id = xxx
#   and there is a user with id xxx and username user_name?

1 Ответ

3 голосов
/ 23 августа 2011

Предполагая, что у вас есть project_name и user_name и вы хотите объединиться и найти проект, который соответствует обоим:

Project.join(:users, :id=>:user_id).
 select(:projects.*).
 first(:users__name=>user_name, :projects__name=>project_name)
...