[Grails] 如何删除多对多关系?
zengsun
2008-01-20
Grails中雇员和角色的多对多关系中,可以通过代码Role.addToEmployees(someEmployee).save()添加关系。
但文档中没有提到如何删除这种关系呀! 雇员和角色类的定义如下: class Employee { String name String login String password Boolean loginEnable String identification Date birthday Date joinDate String tel static belongsTo = Role static hasMany = [events:Event, roles:Role] static constraints = { name(size:2..20) login(size:2..20, unique:true, nullable:false) password(size:6..12) loginEnable() identification(maxSize:18) birthday(max:new Date() - 18*365) joinDate() tel(nullable:true) } String toString() { this.name } } class Role { String title static hasMany = [employees:Employee] String toString() { this.title } } |
|
jy00057800
2008-01-23
多对多 关系 要调用belongto所属方 手动删除
|
|
jy00057800
2008-01-23
不过好像 可以 我给个代码你看看 ,不好意思
def delete = { def role = Role.get(params.id) ///删除中间表内容 role.menus.toList().each { it.removeFromRoles(role) } role.delete() redirect(action:list) } |
|
zengsun
2008-01-23
哈哈,你从哪里看到removeFrom*方法的!
http://grails.org/doc/1.0.x/guide/single.html文档中没有提到。 |
|
zengsun
2008-01-23
jy00057800 写道 不过好像 可以 我给个代码你看看 ,不好意思
def delete = { def role = Role.get(params.id) ///删除中间表内容 role.menus.toList().each { it.removeFromRoles(role) } role.delete() redirect(action:list) } 谢谢,得正解! |
|
jy00057800
2008-01-24
上网找一个 grails-docs-1.0-RC1.pdf 的文档用 adober Reader 打开 可以搜索
把你要的搜索就行,比如你要删除,应该和remove有关系,你就搜索remove ,慢慢查就可以查到removeFrom了 呵呵 |
相关讨论
相关资源推荐
- c语言cstdio什么意思,<iostream>与<cstdio>有什么区别?
- C语言入门篇——输入输出篇
- <cstdio> vs <iostream>
- #笔记 C语言 stdio 标准输入输出
- C++输入输出:iostream还是cstdio?
- c++头文件:stdio.h ,cstdio ,iostream ,bits/stdc++.h
- iostream和iostream.h和stdio.h的区别
- C++中的iostream和iostream.h
- #include 后的文件名用尖括号,引号的区别(笔试题)
- [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>