Как я могу обновить изменить группу пользователей? просто не могу найти это. провел пару часов.
$user = new User;
$user->group = 'new';
$user->save();
Пользователь в связи с принадлежит ToMany с группой.
Не работает.
Благодарю.
Я думаю, что вы можете расширить модель пользователя, чтобы добавить 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);
}
});
});
}
Таким образом, вы можете добавить группу к пользователю с помощью; экземпляр модели группы, коллекция моделей и строка кода модели.
я посмотрел на октябрьский пользовательский класс rainlab.
Пользовательский класс связан с групповым классом через belongstoMany связь.
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 : это сводная таблица, которая содержит связь между таблицей пользователя и группы.
Надеюсь, это поможет 🙂