2016-02-02 4 views
0

Я пытаюсь прикрыть особенности удаления ребенка в отношениях «один ко многим» в CF с помощью ORM. Я отправил небольшой тест приложение здесь:Coldfusion - ORM, удаляющий дочерние объекты

https://github.com/pnahtanoj/cfrelationship

Относительно функции removeChildren() на ln47 из create.cfm - если сбросить родительский объект до и после того, как я вижу, что дети были удалены , Тем не менее, они по-прежнему находятся в БД после закрытия транзакции. Не уверен, что мне не хватает.

Использование CF10, MySql 5.something ...

ответ

0

Поскольку вы установили обратное к истинным на многие стороны, это означает, что только сторона ребенка отслеживается Hibernate.

Вы можете установить для всех родительских родителей значение null.

public void function removeChildren() { 
    transaction { 
     var children = getChilds(); 
     for (var c in children) 
      c.setParent(javacast('null','')); 
    } 

    arrayClear(variables.childs); 
} 
+1

Я думаю, что обратное значение = 'истина' находится в правильном месте, в книге Whish на CF ORM. Я, наконец, получил это работает с этим определением: свойство имя = "Чайлдс" тип = "массив" FieldType = "один-ко-многим" CFC = "Ребенок" singularname = "Ребенок" fkcolumn = "ParentID" cascade = "all-delete-orphan" inverse = "true"; –

Смежные вопросы