如何更新更改用戶組?根本找不到它。花了幾個小時。更新用戶組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