如何删除Kohana中的所有用户角色3
问题描述:
我正在使用ORM验证模块,很难弄清楚如何执行此操作。我已经试过这情况:如何删除Kohana中的所有用户角色3
$user = ORM::factory('user', $id); $user->roles->delete_all();
,并得到错误ErrorException [ Fatal Error ]: Call to undefined method Database_Query_Builder_Delete::join()
然而$user->roles->find_all();
给我我想要的东西。
答
而不是从数据库中删除角色,你想要做的是删除用户模型和角色模型之间的关系。您可以使用ORM remove() method。
foreach ($user->roles->find_all() as $role)
{
$user->remove('roles', $role);
}
答
根据Kohana_ORM类的3.1.3.1版本代码,ORM方法“remove($ alias,$ far_keys = NULL)”如果不传递第二个参数,它将销毁所有相关条目。
$user->remove('roles');
谢谢。完美的作品:)尽管如此,我还是忍不住要删除没有ORM的角色DB :: delete('roles_users') - > where('user_id','=',$ id) - > execute(); – Bob0101 2010-08-01 20:44:28