2017-04-01 5 views
0

Ich habe doman Klasse:Sie aktualisieren oder Löschen von Daten aus der Datenbank nicht

package testgrails12 
class Teams { 
String name 
static mapping = { 
version false 
} 
static constraints = { 
name nullable: true 
} 
} 

Ich versuche, aus einer Tabelle zu löschen oder Update-Daten In meinem Controller:

def team = Teams.get(1) 
team.delete() 

Update:

team.name = '123' 
team.save() 

Ich bekomme weder im ersten noch im zweiten Fall ein Ergebnis. Auch ich bekomme keine Fehler. Ich bin verwirrt. Es funktioniert einfach nicht. Ich sehe das Ergebnis in der Datenbank.

+0

was Problem in Aktualisierung ist und löschen Sie, warum Sie nicht gelöscht und –

+0

@AshishShahi aktualisiert ich keine Fehler. Funktionen funktionieren einfach nicht. –

+0

@AshishShahi Ich denke, das Problem ist in den Einstellungen oder Zuordnung –

Antwort

-1

für Ergebnis-Datenbank verwenden spezielle Methode der Sitzung zu begehen - Flush()

0

löschen ->

def delete(Long id) { 
      def teamsInstance = Teams.get(id) 
      if (!teamsInstance) { 
     your logic, if team instance is null 
      } 

       teamsInstance.delete(flush: true, failOnError:true) 
       } 

Update ->

def update(Long id { 
     def teamsInstance = Teams.get(id) 
     teamsInstance.setName("xyz"); 
teamsInstance.save(flush: true, failOnError:true) 
} 

In beiden Aktion i Verwendung Flush: true, failOnError: true Wenn in Ihrer Domäne ein Fehler auftritt, löst failOnError eine Ausnahme aus, und mit Hilfe der Ausnahme können Sie das Problem verfolgen.

+0

Sie haben Person anstelle von Teams in der Aktualisierungsaktion –

+0

@MikeW thanks man, den Code aktualisiert. –

0

Ein guter Ort zum Starten wäre, die Ansichten und Controller zu generieren, um eine Vorstellung davon zu bekommen, wie 'stuff' zwischen der Ansicht und dem Controller passiert, führen Sie den generate-all Befehl.

generate-all testgrails12.Teams 

Sie werden mit einem TeamsController und alle relevanten gsps enden.

Sie können auch scaffolding verwenden, die im Wesentlichen die gleiche wie oben ist, aber die ganze Magie ist versteckt. Erstellen Sie die folgende Teams Controller:

class TeamsController { 
    static scaffold = Teams 
} 
Verwandte Themen