0

私はsequelRubyのgemを使用して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?
4

1 に答える 1

3

とがあり、参加して両方に一致するプロジェクトを見つけたいproject_nameと仮定します。user_name

Project.join(:users, :id=>:user_id).
 select(:projects.*).
 first(:users__name=>user_name, :projects__name=>project_name)
于 2011-08-23T16:48:38.393 に答える