如何删除Kohana 3中的所有用户角色

时间:2010-07-28 08:00:07

标签: kohana kohana-3 kohana-orm kohana-auth

我正在使用ORM Auth模块,很难弄清楚如何做到这一点。我试过这个案子:

$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();给了我我想要的东西。

3 个答案:

答案 0 :(得分:7)

根据Kohana_ORM类的3.1.3.1版代码,ORM方法“remove($ alias,$ far_keys = NULL)”如果你没有传递第二个参数,它将销毁所有相关的条目。

$user->remove('roles');

答案 1 :(得分:3)

您要执行的操作是删除用户模型与角色模型之间的关系,而不是从数据库中删除角色。您可以使用ORM remove() method

foreach ($user->roles->find_all() as $role)
{
    $user->remove('roles', $role);
}

答案 2 :(得分:-1)

只需为此功能创建ticket即可。您可以使用建议的代码。