Вложенные свойства CFWheels и hasManyCheckBox

Я пытаюсь понять, как обновить таблицу 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 "когда" только на oncreate. Затем я сохранил и получил эту ошибку. "Повторяющаяся запись "1025-1025" для ключа "ПЕРВИЧНЫЙ""

Спасибо,

Дерек


person dbinott    schedule 01.02.2012    source источник


Ответы (1)


В вашем контроллере не забудьте включить 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>
person Chris Peters    schedule 22.03.2012
comment
Я очень надеялся, что это сработает, но, увы, мои флажки до сих пор не сохраняются. - person dbinott; 28.03.2012
comment
Вот дамп параметров при попытке обновления!Дамп CF - person dbinott; 28.03.2012
comment
Смотрите мои вопросы в РЕДАКТИРОВАТЬ выше. - person Chris Peters; 29.03.2012
comment
вот вывод первого вопроса!Вывод #1 и да, я получаю сообщение об ошибке Укажите значение для типа питомца, но такого поля формы нет. И я думал, что не проверял это, когда делал это обновление. - person dbinott; 29.03.2012
comment
Я только что посмотрел на этот первый вывод, petid и eventid в petEvents поменялись местами. где этот набор? - person dbinott; 29.03.2012
comment
я нашел это. был в атрибуте ключей hasmanycheckbox. просто перевернул. Спасибо Крис! - person dbinott; 29.03.2012