Maison  >  Questions et réponses  >  le corps du texte

Appel à la méthode non définie App\Models\User::attachRole() erreur

<p><blockquote> <p>Appel à la méthode non définie AppModelsUser::attachRole() Je suis un débutant absolu avec Laravel J'utilise le package "laratrust" lorsque j'essaie de m'enregistrer, cela me donne cette erreur et je ne sais pas pourquoi</p> </blockquote> <pre class="brush:php;toolbar:false;">`<?php espace de noms AppHttpControllersAuth ; utilisez AppHttpControllersController ; utilisez AppProvidersRouteServiceProvider ; utilisez AppModelsUser ; utilisez IlluminateFoundationAuthRegistersUsers ; utilisez IlluminateSupportFacadesHash ; utilisez IlluminateSupportFacadesValidator ; utilisez LaratrustTraitsHasRolesAndPermissions ; la classe RegisterController étend le contrôleur { utilisez RegistersUsers ; utilisez HasRolesAndPermissions ; protégé $redirectTo = RouteServiceProvider :: HOME ; fonction publique __construct() { $this->middleware('invité'); } validateur de fonction protégée (tableau $ data) { return Validator::make($data, [ 'nom' => ['obligatoire', 'chaîne', 'max:255'], 'email' => ['obligatoire', 'string', 'email', 'max:255', 'unique:utilisateurs'], 'mot de passe' => ['obligatoire', 'chaîne', 'min:8', 'confirmé'], ]); } fonction protégée créer (tableau $ data) { $user = Utilisateur::create([ 'nom' => $data['nom'], 'email' => $data['email'], 'mot de passe' => Hash::make($data['mot de passe']), ])/*->attachRole('utilisateur')*/; return $user->attachRole('admin'); } } `</pre></p>
P粉418351692P粉418351692439 Il y a quelques jours471

répondre à tous(1)je répondrai

  • P粉738346380

    P粉7383463802023-08-31 09:43:51

    Vous n'avez aucune méthode atachRole dans votre modèle utilisateur. Il semble donc que vous ayez manqué l'étape 4 de la section Installation. < /p>

    Ajoutez le trait LaratrustContractsLaratrustUser 接口和 LaratrustTraitsHasRolesAndPermissions à votre classe User (généralement dans AppModelsUser).

    use Laratrust\Contracts\LaratrustUser;
    use Laratrust\Traits\HasRolesAndPermissions;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    
    class User extends Authenticatable implements LaratrustUser // 
    {
        use HasRolesAndPermissions;  // <- This will add some methods and property to your class ( attachRole included )
    
        // ...
    }
    

    répondre
    0
  • Annulerrépondre