Panggil ke kaedah tidak ditentukan App\Models\User::attachRole() ralat
P粉418351692
2023-08-30 14:08:49
<p><blockquote>
<p>Panggil ke kaedah yang tidak ditentukan AppModelsUser::attachRole()
Saya seorang pemula mutlak dengan Laravel
Saya menggunakan pakej "laratrust" apabila saya cuba mendaftar ia memberi saya ralat ini dan saya tidak tahu mengapa</p>
</blockquote>
<pre class="brush:php;toolbar:false;">`<?php
ruang nama AppHttpControllersAuth;
gunakan AppHttpControllersController;
gunakan AppProvidersRouteServiceProvider;
gunakan AppModelsUser;
gunakan IlluminateFoundationAuthRegistersUsers;
gunakan IlluminateSupportFacadesHash;
gunakan IlluminateSupportFacadesValidator;
gunakan LaratrustTraitsHasRolesAndPermissions;
kelas RegisterController memanjangkan Pengawal
{
gunakan RegistersUsers;
gunakan HasRolesAndPermissions;
dilindungi $redirectTo = RouteServiceProvider::HOME;
fungsi awam __construct()
{
$this->middleware('tetamu');
}
pengesah fungsi dilindungi(array $data)
{
return Validator::make($data, [
'name' => ['diperlukan', 'rentetan', 'maks:255'],
'email' => ['diperlukan', 'rentetan', 'e-mel', 'maks:255', 'unik:pengguna'],
'kata laluan' => ['diperlukan', 'rentetan', 'min:8', 'disahkan'],
]);
}
cipta fungsi dilindungi(array $data)
{
$user = Pengguna::create([
'name' => $data['name'],
'email' => $data['email'],
'kata laluan' => Hash::make($data['kata laluan']),
])/*->attachRole('pengguna')*/;
kembalikan $user->attachRole('admin');
}
}
`</pre></p>
Anda tidak mempunyai sebarang
atachRole
kaedah dalam model Pengguna anda. Jadi nampaknya anda terlepas langkah 4 bahagian Pemasangan.Tambahkan sifat
LaratrustContractsLaratrustUser
接口和LaratrustTraitsHasRolesAndPermissions
pada kelas Pengguna anda (biasanya dalam AppModelsUser).