如何更新更改用户组?根本找不到它。花了几个小时。更新用户组OctoberCMS rainlab用户插件
$user = new User;
$user->group = 'new';
$user->save();
用户与belongsToMany与Group有关。
不工作。 谢谢。
如何更新更改用户组?根本找不到它。花了几个小时。更新用户组OctoberCMS rainlab用户插件
$user = new User;
$user->group = 'new';
$user->save();
用户与belongsToMany与Group有关。
不工作。 谢谢。
我已经看了十月份的rainlab用户类。
用户类别通过属于多个关系与组类关联。
public $belongsToMany = [
'groups' => ['RainLab\User\Models\UserGroup', 'table' => 'users_groups'],
'address' => [
'\codework\users\models\Address',
'table'=>'codework_users_user_address',
'order'=>'addr'
]
];
所以,当你将用户添加到任何一组,请确保您有该组已经创建到你的数据库。
表名user_groups:这将包含可分配用户的所有组。
表名users_groups:这是一个数据透视表,它包含用户和组表之间的关系。
希望这将有助于:)
我认为你可以扩展用户模型添加addUserGroup
方法是这样;
public function boot()
{
User::extend(function($model) {
$model->addDynamicMethod('addUserGroup', function($group) use ($model) {
if ($group instanceof Collection) {
return $model->groups()->saveMany($group);
}
if (is_string($group)) {
$group = UserGroup::whereCode($group)->first();
return $model->groups()->save($group);
}
if ($group instanceof UserGroup) {
return $model->groups()->save($group);
}
});
});
}
所以你可以添加组用户;组模型实例,模型集合和模型代码的字符串。
我知道数据透视表。但我没有找到像$ user-addUsergroup('groupname')这样的函数或属性;我知道我可以直线更新(表格.. bla bla)。我确信有简单的方法。和大多数“十月”的方式 – aleXela