首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFWheels嵌套属性与hasManyCheckBox

CFWheels嵌套属性与hasManyCheckBox
EN

Stack Overflow用户
提问于 2012-02-01 16:16:51
回答 1查看 304关注 0票数 1

我试图弄清楚如何用几个事件更新petevents表。我没有得到错误,但它也没有更新/插入。下面是相关的代码片段和相关表的架构。

视图

代码语言:javascript
复制
<cfloop query="events">

#hasManyCheckBox(objectName="pet",

association="petevents",

keys="#pet.key()#,#events.id#",

label=events.eventname)#

</cfloop>

宠物模型

代码语言:javascript
复制
<cfset hasMany(name="petEvents", dependent="deleteAll", shortcut="events")>
<!--- nested properties --->
<cfset nestedProperties(associations="petEvents", allowDelete=true)>

事件模型

代码语言:javascript
复制
<cfset hasMany(name="petevents", dependent="deleteAll")>

PetEvent模型

代码语言:javascript
复制
<cfset belongsTo("pet")>    
<cfset belongsTo(name="event", joinType="outer")>

控制器中的视图更新

代码语言:javascript
复制
<cfset pet = model("pet").findByKey(key=params.key)>
<cfset pet.update(params.pet)>

编辑:我将validatesPresenceOf属性"when“更改为oncreate。然后我保存并得到了这个错误。“重复输入'1025-1025‘的关键字’主‘”

谢谢,

德里克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-22 12:43:28

在控制器中,不要忘记包括petEvents

代码语言:javascript
复制
<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>

编辑:

作为对下面转储的回应,您能告诉我当您在更新操作中这样做时得到了什么吗?

代码语言:javascript
复制
<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>
<cfset pet.setProperties(params.pet)>
<cfdump var="#pet#" abort>

如果这看起来很好,那么当你这样做时会发生什么呢?有什么错误吗?

代码语言:javascript
复制
<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>
<cfset pet.setProperties(params.pet)>
<cfset pet.update()>
<cfdump var="#pet.allErrors()#">
<cfloop array="#pet.petEvents#" index="petEvent">
    <cfdump var="#petEvent.allErrors()#">
<cfloop>
<cfabort>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9099247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档