CFWheels Вложенные свойства и hasManyCheckBox - PullRequest
1 голос
/ 01 февраля 2012

Я пытаюсь выяснить, как я могу обновить таблицу petevents несколькими событиями. Я не получаю ошибки, но это также не обновление / вставка. Вот соответствующие фрагменты кода и схема для соответствующих таблиц.

View

<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)>

Schema pertaining to relevant tables

РЕДАКТИРОВАТЬ: я изменяю свойство validatesPresenceOf «когда» только для создания. Затем я сохранил и получил эту ошибку. «Дублирующая запись« 1025-1025 »для ключа« ПЕРВИЧНЫЙ »

Спасибо

Derek

1 Ответ

1 голос
/ 22 марта 2012

В вашем контроллере не забудьте включить petEvents:

<cfset pet = model("pet").findByKey(key=params.key, include="petEvents")>

EDIT:

В ответ на ваш дамп ниже, можете ли вы сказать мне, что вы получаете, когда вы делаете это в своем действии обновления?

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...