我的部分域名模型Conversation
有很多ChatMessage
s
在我的index.gsp中,我有以下内容:
<g:each in="${allConversations}" var="conversation">
${conversation.chatMessages}
</g:each>
显示特定用户的所有会话,将聊天消息输出为
[hi, how are you][another convo, hi again]
这是正确的结果。但我只想得到每个对话的第一条消息。我试过了
${conversation.chatMessages[0]}
和
${conversation.chatMessages.get(0)}
但无济于事。这个的正确语法是什么?
答案 0 :(得分:2)
如果您希望能够通过 index 引用对话中的各个消息,那么您需要将关联声明为List:
class Conversation {
static hasMany = [chatMessages: ChatMessage]
List chatMessages
// constraints, mapping, other properties...
}
如果您只有hasMany
而没有List chatMessages
,那么关联将被映射为Set而不是List,这样您就可以迭代但不能通过索引进行访问。
有关详细信息,请参阅grails文档中的sets, lists and maps。