私は3つのドメインクラスを持っています
Class Application {
Candidate candidate;
Vote vote;
static belongsTo = [candidate:Candidate,vote:Vote]
}
Class Candidate {
String username;
static hasMany =[capplications:Application]
}
Class Vote {
String name;
Date startdate;
Date enddate;
static hasMany =[capplications:Application]
}
投票の名前を表示するメソッドを含むサービス クラスがあります。
class ApplicationService {
def serviceMethod() {
}
def candidatesByVName(def vname){
def results = Candidature.createCriteria().list() {
createAlias("candidat","candidatAlias")
createAlias("vote","voteAlias")
eq('voteAlias.name',vname)
projections {
// property('votes.name')
property('candidatAlias.username')
}
}
return results
}
def candidatsGrpByVte(){
def results = Application.withCriteria {
createAlias("vote", "vote")
projections {
groupProperty("vote.name")
}
}
return results;
}
}
コントローラーから始めました
class ApplicationController{
def applicationService;
def displayVote={
def votes=applicationService.candidatsGrpByVte()
return [VoteList:votes]
}
def displayCandByVote={
def candidate=applicationService.candidatesByVName(params.vote)
}
}
投票ごとの候補者一覧をビューで表示したい