Код: Выделить всё
public function afterSave($insert, $changedAttributes) {
parent::afterSave($insert, $changedAttributes);
$auth = Yii::$app->authManager;
$user = $auth->getRole('user');
$auth->assign($user, $this->id);
}
Проблема вот в чем, сделал редактирование юзера, пароля email и другую инфу и там использую для сохранения $user->save(); И когда я сохраняю изменения, срабатывает afterSave и повторно присваевает роль этому юзеру в базе и выводит ошибку
Как правильно разрулить эту ситуацию, чтобы роль присваивалась толь при регистрации нового юзера?Integrity constraint violation – yii\db\IntegrityException
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'user-1' for key 'PRIMARY'
The SQL being executed was: INSERT INTO `auth_assignment` (`user_id`, `item_name`, `created_at`) VALUES ('1', 'user', 1538547818)
Error Info: Array
(
[0] => 23000
[1] => 1062
[2] => Duplicate entry 'user-1' for key 'PRIMARY'
)