我试图弄清楚如何用几个事件更新petevents表。我没有得到错误,但它也没有更新/插入。下面是相关的代码片段和相关表的架构。
视图
<cfloop query="events">
#hasManyCheckBox(objectName="pet",
association="petevents",
keys="#pet.key()#,#events.id#",
label=events.eventname)#
</cfloop>宠物模型
<cfset hasMany(name="petEvents", dependent="deleteAll", shortcut="events")>
<!--- nested properties --->
<cfset nestedProperties(associations="petEvents", allowDelete=true)>事件模型
<cfset hasMany(name="petevents", dependent="deleteAll")>PetEvent模型
<cfset belongsTo("pet")>
<cfset belongsTo(name="event", joinType="outer")>控制器中的视图更新
<cfset pet = model("pet").findByKey(key=params.key)>
<cfset pet.update(params.pet)>

编辑:我将validatesPresenceOf属性"when“更改为oncreate。然后我保存并得到了这个错误。“重复输入'1025-1025‘的关键字’主‘”
谢谢,
德里克
发布于 2012-03-22 12:43:28
在控制器中,不要忘记包括petEvents
<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>编辑:
作为对下面转储的回应,您能告诉我当您在更新操作中这样做时得到了什么吗?
<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>
<cfset pet.setProperties(params.pet)>
<cfdump var="#pet#" abort>如果这看起来很好,那么当你这样做时会发生什么呢?有什么错误吗?
<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>https://stackoverflow.com/questions/9099247
复制相似问题