3

Yesod bookのPersistent の章では、特定のフィールドにEq接尾辞が付けられていますが、その理由は説明されていません。関係セクションには、次のモデルが表示されます。

Person
    name String
    deriving Show
Car
    ownerId PersonId Eq
    name String
    deriving Show

その後すぐに、次のように表示されます。

Person
    name String
Store
    name String
PersonStore
    personId PersonId
    storeId StoreId
    UniquePersonStore personId storeId

後者が多対多であることを除けば、違いは何ですか? IRC で、Eq接尾辞がそのフィールドへの参加を可能にすることを収集しました。もしそうなら、なぜ人は接尾辞を望まないEqのでしょうか? Eqリレーション以外に使用すべきケースはありますか?

4

1 に答える 1

3

私はそれらをすべて取り除いたと思っていました...それは、PersistentEqが必要だった古い時代からの名残りです。最近では、何もしません。すべてのフィールドで同等性を比較できます。

等価性テストは、「著者によるすべての投稿を検索する」など、多くの場合に使用できます。

selectList [PostAuthor ==. userId] [Desc PostDate]
于 2012-12-31T06:15:43.210 に答える