ホームページ  >  に質問  >  本文

未定義メソッド App\Models\User::attachRole() の呼び出しエラー

<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粉418351692P粉418351692388日前447

全員に返信(1)返信します

  • P粉738346380

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

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

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

    返事
    0
  • キャンセル返事