0

私はgrails mongodbでこのようなコードを持っています

//myDomain
class Plugin {
    List<String> projects = []
    //projects has name and description
}

//myController
def query = null
    if (params.q != null)
    {
        def q = '%'+ params.q +'%'
        query = Plugin.where {
            (projects.name =~ q || projects.name ==~ q)
        }
    }
//return null

projects.name でプラグインが見つからないのはなぜですか?

4

1 に答える 1

0

プロパティ定義から

List<String> projects = []

プロジェクトの要素は文字projects.name列です。そのため、GORM に認識されていないクエリを実行できません。

最後のコメントでは、プロジェクト インスタンスの値は"projects": { "0": { "description": "123", "name": "cms" }, "1": { "description": "cms", "name": "codebucks" } }マップのように見えます。プロジェクト番号がキーであり、名前と説明を含む内部マップが値であり、リストではありません。

目的を達成するには、ドメイン クラスの定義を変更して、モデルとデータの一貫性を確保する必要があります。

于 2013-01-24T03:31:09.930 に答える