質問

DataMapperのは、どのように1、2つのフィールドの組み合わせは一意でなければなりません指定します。

:たとえば、カテゴリは、ドメイン内で一意の名前を持つ必要があります
class Category
  include DataMapper.resource
  property :name, String, :index=>true #must be unique for a given domain

  belongs_to :domain
end
役に立ちましたか?

解決

あなたはキーとして、両方のプロパティを定義してみましたか?わからない私はそれを試してみましたが、その方法は、彼らが複合キーになるはずです。

property :name, String, :key => true    
property :category, Integer, :key => true

他のヒント

次の2つの性質のためのユニークなインデックスを作成する必要があります:

class Category
  include DataMapper::Resource

  property :name, String, :unique_index => :u
  property :domain_id, Integer, :unique_index => :u

  belongs_to :domain
end
実際には、ジョンは、Joschiの答えは正しいです:という名前の使用:unique_index値は複数列のインデックスを作成しません。それは(それだけでtrueされていた場合、すなわち、あなたが正しいだろう)、それらのハッシュロケットの右側を読むことが重要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top