0

Playframework 2.1.1 と Java を使用しています。Play フォームヘルパーを使用してデータベースから取得したデータを選択ボックスに入力しようとしています

ビューの場合のコードは次のとおりです。

@helper.form(action = routes.Admin.submitUnit) {
    @helper.select(
        field = unitForm("metaunit"),
        options = options(Metaunit.find)
    )

    ...
}

そして、データベースからメタユニットを取得するメソッド:

public static List<Metaunit> find(){
    Query query = JPA.em().createQuery("SELECT e FROM Metaunit e");
    return (List<Metaunit>)query.getResultList();
}

コンパイルしようとすると、次のエラー メッセージが表示されます。

オーバーロードされたメソッド値 [apply] は適用できません (java.util.List[models.Metaunit])

どんな助けでも大歓迎です!ありがとう

4

1 に答える 1

4

computer-database-jpaサンプルを見てみましょう。一般に、モデルのoptions()メソッドは をCompany返しますMap<String, String>

editForm ビューでわかるように、使い方はあなたのものとかなり似ています。

unitForm("metaunit.id")注: おそらく、Metaunit は何らかの MM リレーションに接続されている可能性があります。その場合、フィールドの値として使用する必要があるでしょう。

于 2013-06-22T14:35:28.363 に答える