2

このようなモデルが2つあります

class Stage
    include DataMapper::Resource
    property :id, Serial
    belongs_to :staff
end

class Staff
  include DataMapper::Resource
  property :id, String, :key => true 
  property  :full_name, String 
  property  :email, String
  has n, :stages
end

特定のスタッフが割り当てられているすべてのステージを見つけようとしています。私はもう試した @stages = Stage.all(Stage.Staff => 'TM')

私は何が間違っているのですか?

4

3 に答える 3

2

実際には、次のようにdatamapperで文字列キーを使用できます。

Stage.all('staff.id' => 'TM')

また

Stage.all('staff.name.like' => 'Ted%')

そのモデルのプロパティと組み合わせて使用​​することもできます。

Stage.all('staff.name.like' => 'Ted%', 'id.gte' => 5 )

これにより、名前が「Ted」で始まり、IDが5以上の人に属するすべてのステージが取得されます。

于 2011-01-21T21:16:41.670 に答える
1

これを試してみてください。DataMapperを使用してからしばらく経ちました。

Stage.all(Stage.staff.id => 'TM')

これは、「TM」が実際にはスタッフメンバーのIDに使用する値であると想定しています。

于 2010-07-08T10:08:13.723 に答える
0

やる

@stages = Stage.all(:staff => 'TM')
于 2010-07-06T06:43:41.667 に答える