不要更新或删除数据库中的数据
Do not update or delete data from the database
我有域名class:
package testgrails12
class Teams {
String name
static mapping = {
version false
}
static constraints = {
name nullable: true
}
}
我正在尝试从 table 我的控制器中删除或更新数据:
def team = Teams.get(1)
team.delete()
更新:
team.name = '123'
team.save()
第一种情况和第二种情况我都没有得到结果。我也没有收到任何错误。我很困惑。它只是行不通。我在数据库中看到了结果。
为了将结果提交到数据库,使用会话的特殊方法 - flush()
删除 ->
def delete(Long id) {
def teamsInstance = Teams.get(id)
if (!teamsInstance) {
your logic, if team instance is null
}
teamsInstance.delete(flush: true, failOnError:true)
}
更新 ->
def update(Long id {
def teamsInstance = Teams.get(id)
teamsInstance.setName("xyz");
teamsInstance.save(flush: true, failOnError:true)
}
在这两个动作中我都使用了 flush: true, failOnError:true
如果您的域中出现任何错误,那么 failOnError 将抛出异常,并且借助异常您可以跟踪问题。
一个好的起点是生成视图和控制器,以了解 'stuff' 如何在视图和控制器之间发生,运行 generate-all 命令。
generate-all testgrails12.Teams
您最终会得到一个 TeamsController 和所有相关的 gsps。
您还可以使用 scaffolding,它与上面的基本相同,但所有的魔法都被隐藏了。
创建以下 Teams 控制器:
class TeamsController {
static scaffold = Teams
}
我有域名class:
package testgrails12
class Teams {
String name
static mapping = {
version false
}
static constraints = {
name nullable: true
}
}
我正在尝试从 table 我的控制器中删除或更新数据:
def team = Teams.get(1)
team.delete()
更新:
team.name = '123'
team.save()
第一种情况和第二种情况我都没有得到结果。我也没有收到任何错误。我很困惑。它只是行不通。我在数据库中看到了结果。
为了将结果提交到数据库,使用会话的特殊方法 - flush()
删除 ->
def delete(Long id) {
def teamsInstance = Teams.get(id)
if (!teamsInstance) {
your logic, if team instance is null
}
teamsInstance.delete(flush: true, failOnError:true)
}
更新 ->
def update(Long id {
def teamsInstance = Teams.get(id)
teamsInstance.setName("xyz");
teamsInstance.save(flush: true, failOnError:true)
}
在这两个动作中我都使用了 flush: true, failOnError:true 如果您的域中出现任何错误,那么 failOnError 将抛出异常,并且借助异常您可以跟踪问题。
一个好的起点是生成视图和控制器,以了解 'stuff' 如何在视图和控制器之间发生,运行 generate-all 命令。
generate-all testgrails12.Teams
您最终会得到一个 TeamsController 和所有相关的 gsps。
您还可以使用 scaffolding,它与上面的基本相同,但所有的魔法都被隐藏了。 创建以下 Teams 控制器:
class TeamsController {
static scaffold = Teams
}