Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新用户组OctoberCMS rainlab用户插件_Php_Laravel_Plugins_Octobercms_Usergroups - Fatal编程技术网

Php 更新用户组OctoberCMS rainlab用户插件

Php 更新用户组OctoberCMS rainlab用户插件,php,laravel,plugins,octobercms,usergroups,Php,Laravel,Plugins,Octobercms,Usergroups,如何更新更改用户的组?根本找不到。花了几个小时 $user = new User; $user->group = 'new'; $user->save(); 用户与组的归属关系 不工作。 谢谢。我已经研究了10月份的rainlab用户课程 用户类通过归属关系与组类链接 因此,当您向任何组添加用户时,请确保已将该组创建到数据库中 表名用户组:这将包含可分配用户的所有组 表名用户\u组:这是一个数据透视表,包含用户和组表之间的关系 希望这会有所帮助:)我认为您可以扩展用户模型来添加ad

如何更新更改用户的组?根本找不到。花了几个小时

$user = new User;
$user->group = 'new';
$user->save();
用户与组的归属关系

不工作。
谢谢。

我已经研究了10月份的rainlab用户课程

用户类通过归属关系与组类链接

因此,当您向任何组添加用户时,请确保已将该组创建到数据库中

表名用户组:这将包含可分配用户的所有组

表名用户\u组:这是一个数据透视表,包含用户和组表之间的关系


希望这会有所帮助:)

我认为您可以扩展用户模型来添加
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')这样的函数或属性;我知道我可以直接更新(表..等等)。我确信有一个简单的方法。大多数“十月”wayHi,我用字符串参数测试了你的代码,它成功了。@Surahman,这只是一个小改动。您的代码片段非常有用:)
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);
            }
        });
    });
}