私は2つのテーブルを持っています
users
-------
id
name
organization_id
organizations
----------
id
org_name
org_unique_num
abc
xyz
organization_id
ユーザー テーブルでは、組織テーブルの ID への外部キーです
class Organization
include DataMapper::Resource
property :id, Serial
property :org_name, String
property :org_unique_num, Integer
property :abc String
property :xyz String
has n, :users
end
class User
include DataMapper::Resource
property :id, Serial
property :name, String
property :organization_id, Integer
property :age, Integer
belongs_to :organization
end
ユーザーの年齢が25歳を超える組織テーブルに参加して、ユーザーのレコードを取得したいので、結果は次のようになります
user_id name organization_id org_name org_unique_num age
12 John 356 ATT 76763 38
35 Lisa 981 IBM 2376 28
では、どうすればこれを達成できますか?結果に列 abc と xyz が必要ないことに注意してください。
User.all(:age.gt => 25)
これにより、25 歳以上のユーザーが得られますが、ユーザーの組織情報も取得したいと考えています。それを1つのステートメントにすることは可能ですか?または、複数の手順で実行する必要があります。すべての user_id を収集してから、id in(). を使用して Organization モデルに渡すのと同じように、これは醜いでしょう。
どんな助けでも大歓迎です。