3

それを取得する方法私は下からすべての予測を返します

def c = Company.createCriteria()
def a = c.list(params){
    projections{
        property 'id', property 'name'
    }
 }

 if(a.size() == 0)
     render "404"
 else {
     render (contentType: 'text/json'){
          totalCount = a.totalCount
          data = a
     }
  }

結果は次のようになります。

{"totalCount":2、 "data":["company1"、 "company2"]}

必要な場所:

{"totalCount":2、 "data":[{"class": "org.example.Company"、 "id":1、 "name": "company1"}、{"class":"org.example。 Company "、" id ":2、" name ":" company2 "}]}

会社のドメインにはたくさんの関係があります(1対1、1対多など)。私のドメインは次のようになります。

パッケージorg.example

java.sql.Timestampをインポートします

class Company {

String name
String abn
String cname
String email
String phone
String position
String address
String city
String postcode
int style
int openbookings;

Date date;

int tokenTotal = 0

int totaltokens
int totalboosts
int totalposts
Timestamp tokenstamp

static hasMany = [users: User, broadcast: Broadcast, bookings: Booking, locations: Location,vimsurvey:VimSurvey,rewards: Reward, tokens: CompanyToken]


static constraints = {
    abn nullable: true
    date nullable: true
    style nullable: true
}
}

どんな助けでも素晴らしいでしょう:)????

4

1 に答える 1

0

http://grails.org/doc/1.1/ref/Domain%20Classes/createCriteria.html

投影の下のプロパティセクションを参照してください:'property返された結果で指定されたプロパティを返します'。「すべての予測」では、あなたが求めているものが実際にはわかりません。

ドメインのすべてを検索するだけですか?なぜプロジェクションを使用しているのですか?

def a = c.list(params){
projections{
    property 'id', property 'name'
}
}

する必要があります

def a = c.list(params){
projections{
    property 'id'
    property 'name'
}
}

実際、自分のやり方でやろうとすると、コンパイルエラーが発生します。特別な理由がない限り、ドメイン自体全体を取得する方が理にかなっていると思います。

于 2012-12-17T22:01:16.360 に答える