Laravel France

attribuer un rôle à l'utilisateur lors de la création de compte

Avatar de AnnesophieMilleville
AnnesophieMilleville

Bonjour, j'essaye d'affecter un rôle à l'utilisateur lors de la création d'un compte.

J'ai regardé un peu comment cela pouvait se faire et j'ai vu que l'on pouvait faire un insert .

Au niveau du controllerRegister , j'ai mis ceci :

protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']),

]);


DB::table('users')->insert(
    'idstatut' => 3);

    return  $user;
}

est ce la bonne méthode ? si oui qu est ce qui ne va pas avec ce code ?

Merci de vos réponses

Avatar de Bilal
Bilal

tu définit sa valeur par défaut dans la base de données et c'est bon. Comme ça t'as pas besoin de la requete

Avatar de millevilleannesophie
millevilleannesophie

Bonjour , le souci c est qu' il faut que le statut se crée lors de la création de compte et pas après ;

Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

Il suffit d'ajouter ton id directement dans la création du user, non ?

protected function create(array $data) { 
	return User::create([ 
		'name' => $data['name'],
		'email' => $data['email'],
		'password' => Hash::make($data['password']),
		'idstatut' => 3
	]);
}

Il faut, bien entendu, que le champs idtatut soit dans le array $fillable de user.php

Avatar de annesophie05
annesophie05

Bonjour oui effectivement cela fonctionne . Pourquoi chercher compliquer quand on peut faire simple hh merci a toi cinquiemedimension

Avatar de CinquièmeDimension
CinquièmeDimension

Oui je sais que quand on se prends la tête sur un code, on ne vois plus les solutions simples...

N'hésite pas à passer ton post en résolu :)

Vous ne pouvez pas répondre à ce sujet.