2

I'm using ORM Auth module and it's difficult to figure out how to do it. I've tried this case:

$user = ORM::factory('user', $id);
$user->roles->delete_all();

And got error ErrorException [ Fatal Error ]: Call to undefined method Database_Query_Builder_Delete::join()

However $user->roles->find_all(); gives me exactly what i want.

4

3 回答 3

7

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

$user->remove('roles');
于 2011-06-17T18:07:27.913 回答
3

您不想从数据库中删除角色,而是删除用户模型和角色模型之间的关系。您可以使用ORM remove() 方法

foreach ($user->roles->find_all() as $role)
{
    $user->remove('roles', $role);
}
于 2010-07-31T20:19:40.190 回答
-1

只需为此功能创建一张票。您可以使用建议的代码。

于 2010-08-27T10:08:56.750 回答