未定義メソッド App\Models\User::attachRole() の呼び出しエラー
P粉418351692
P粉418351692 2023-08-30 14:08:49
0
1
476
<p><ブロック引用> <p>未定義メソッド App\Models\User::attachRole() を呼び出す 私はLaravelの全くの初心者です 「laratrust」パッケージを使用していますが、登録しようとするとこのエラーが発生します。理由がわかりません</p> </blockquote> <pre class="brush:php;toolbar:false;">`<?php 名前空間 App\Http\Controllers\Auth; App\Http\Controllers\Controller を使用します。 App\Providers\RouteServiceProvider を使用します。 App\Models\User を使用します。 Illuminate\Foundation\Auth\RegistersUsers を使用します。 Illuminate\Support\Facades\Hash を使用します。 Illuminate\Support\Facades\Validator を使用します。 Laratrust\Traits\HasRolesAndPermissions を使用します。 クラス RegisterController はコントローラーを拡張します { RegistersUsers を使用します。 HasRolesAndPermissions を使用します。 protected $redirectTo = RouteServiceProvider::HOME; パブリック関数 __construct() { $this->ミドルウェア('ゲスト'); } 保護された関数バリデータ(配列 $data) { return Validator::make($data, [ '名前' => ['必須', '文字列', '最大:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'パスワード' => ['必須', '文字列', '分:8', '確認済み'], ]); } 保護された関数 create(array $data) { $user = ユーザー::作成([ '名前' => $data['名前'], '電子メール' => $data['電子メール'], 'パスワード' => Hash::make($data['パスワード']), ])/*->attachRole('user')*/; return $user->attachRole('admin'); } } `</pre></p>
P粉418351692
P粉418351692

全員に返信(1)
P粉738346380

User モデルには attachRole メソッドがありません。 したがって、「インストール」セクションのステップ 4 を見逃しているようです。

Laratrust\Contracts\LaratrustUser インターフェイスと Laratrust\Traits\HasRolesAndPermissions トレイトをユーザー クラス (通常は App\Models\User にあります) に追加します。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート