Как удалить элемент? - PullRequest
       0

Как удалить элемент?

0 голосов
/ 20 сентября 2011

Привет У меня есть 2 домена в приложении Grails, которое связано, и у меня возникла проблема, когда я пытался удалить элементы.

Event {
       String eventName;
       Date eventDate;
       Fee eventFee ; 

       constraints = {
          .... 
          eventFee(nullable:true);
       }
    }

и

Fee{
   String feeName ; 
   ..... 
}

Моя проблема заключается в том, что, когда я пытался удалить комиссию, даже если к этому событию не прикреплено событие, это вызовет en erorr: ConstraintException.

Как решить проблему и как установить связь между этими двумя доменами?

ps: я использую grails 1.2xxx и базу данных mysql

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Это, вероятно, происходит из-за того, что объект Fee, который вы пытаетесь удалить, ссылается на какой-либо объект Event.Вы можете увидеть События по следующему (псевдо-) коду:

def fee = Fee.get(<id>) 
Event.findAllByEventFee(fee).each {
    println it
}

Затем вы можете установить для свойства eventFee значение NULL для каждого события и удалить плату:

event.eventFee = null
fee.delete()
0 голосов
/ 24 сентября 2011

Я думаю, что отношения неправильно закодированы, вы должны сослаться на плату в

Event {
   String eventName;
   Date eventDate;
   static hasOne=[eventFee:Fee] ; 

   constraints = {
      .... 
   }
}

И

Fee{

   String feeName ; 
   ..... 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...