1

私は、サーバー サイトが Grails、クライアント サイトが Extjs4.1 であるプロジェクトに取り組んでおり、リレーショナル データベースを使用しています。この状況では問題なく動作しますが、ストアに電話すると問題が発生します。この問題は両親に基づいています。以下のようにストアを呼び出すと.....次に、その親に電話する必要がありますが、その親に電話したくありません..

def stote(){        
    def prices = []
    Price.getAll()?.each{ v ->
        def a = v.article,
        b     = a.brand,
        bt    = b.brandType,
        gp    = b.genericProducts,
        c     = gp.categories,
        m     = b.manufacturers

        def manufacture     = [id:m.id,     name:m.name]
        def category        = [id:c.id,     name:c.name]
        def genericProduct  = [id:gp.id,    name:gp.name, m01i001001:category]
        def brandType       = [id:bt.id,    name:bt.name]
        def brand           = [id:b.id, name:b.name, m01i002001:manufacture, m01i003001:genericProduct, m01i004001:brandType]
        def article         = [id:a.id, name:a.name, mbcode:a.mbcode, pbcode:a.pbcode, details:a.details, m01i005001:brand]
        def price           = [id: v.id, m01i006001:article, price:v.price, date:v.date]
        prices << price
    }
    return prices
}

これらは、属している関連付けキー m01i001001、m01i002001、m01i003001、m01i004001、m01i005001、m01i006001 です。

私の所属するように

 belongsTo : [{
  model          : '${pkgName}.M01I005001',
  associatedName : 'M01I005001' ,
  associationKey : 'm01i005001' , 
  primaryKey     : 'id' , 
  foreignKey     : 'brandId'     
}],

この店のように電話したい...

def stote(){        
    def prices = []
    Price.getAll()?.each{ v ->
        def a = v.article

        def article         = [id:a.id, name:a.name, mbcode:a.mbcode, pbcode:a.pbcode, details:a.details]
        def price           = [id: v.id, m01i006001:article, price:v.price, date:v.date]
        prices << price
    }
    return prices
}

しかし、このストアを呼び出すと、クライアント側の読み込みの問題が発生します。私はその両親を怠惰にすることはできません。そのショーは常に熱心です。

このエラーを解決するアイデアがあれば教えてください。

前もって感謝します

4

1 に答える 1

1

これはこれに対する解決策ではありません。このためのプロキシモデルを作成し、不要な関係をすべて削除してから、問題を解決します。つまり、所属先を1つだけ保持するため、関連付けキーを1つだけ保持します。

于 2013-04-02T08:59:58.583 に答える