Fehler beim Aufruf der undefinierten Methode App\Models\User::attachRole()
P粉418351692
2023-08-30 14:08:49
<p><blockquote>
<p>Aufruf der undefinierten Methode AppModelsUser::attachRole()
Ich bin ein absoluter Anfänger mit Laravel
Ich verwende das Paket „Laratrust“, wenn ich versuche, mich zu registrieren. Es erscheint diese Fehlermeldung und ich weiß nicht, warum</p>
</blockquote>
<pre class="brush:php;toolbar:false;">`<?php
Namespace AppHttpControllersAuth;
verwenden Sie AppHttpControllersController;
verwenden Sie AppProvidersRouteServiceProvider;
verwenden Sie AppModelsUser;
verwenden Sie IlluminateFoundationAuthRegistersUsers;
benutze IlluminateSupportFacadesHash;
verwenden Sie IlluminateSupportFacadesValidator;
verwenden Sie LaratrustTraitsHasRolesAndPermissions;
Die Klasse RegisterController erweitert Controller
{
verwenden Sie RegistersUsers;
verwenden Sie HasRolesAndPermissions;
protected $redirectTo = RouteServiceProvider::HOME;
öffentliche Funktion __construct()
{
$this->middleware('guest');
}
Validator für geschützte Funktionen (Array $data)
{
return Validator::make($data, [
'name' => ['erforderlich', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['erforderlich', 'string', 'min:8', 'bestätigt'],
]);
}
geschützte Funktion create(array $data)
{
$user = Benutzer::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
])/*->attachRole('user')*/;
return $user->attachRole('admin');
}
}
`</pre></p>
您的 User 模型中没有任何
atachRole
方法。 所以看来您错过了安装部分的第4步。在您的用户类中添加
Laratrust\Contracts\LaratrustUser
接口和Laratrust\Traits\HasRolesAndPermissions
特征(通常位于 App\Models\User 中)。