Laravelでtodoリストの作成をしています。バージョン最新
https://www.hypertextcandy.com/laravel-tutorial-authentication/
の記事を参考に進めているのですが、認証機能のコントローラーところで
エラーが発生しています。
foldercontroller
<?php namespace App\Http\Controllers; use App\Http\Requests\CreateFolder; use Illuminate\Http\Request; use App\Models\Folder; use Illuminate\Support\Facades\Auth; class FolderController extends Controller { public function showCreateForm() { return view('folders/create'); } public function create(CreateFolder $request) { // フォルダモデルのインスタンスを作成する $folder = new Folder(); // タイトルに入力値を代入する $folder->title = $request->title; // インスタンスの状態をデータベースに書き込む $folder->save(); // ★ ユーザーに紐づけて保存 Auth::user()->folders()->save($folder); return redirect()->route('tasks.index', [ 'id' => $folder->id, ]); } }
folders()がundifinedとエラーが吐かれている状態です。
use Illuminate\Http\Request;に関してもis declared but not usedが起き、
use Illuminate\Support\Facades\Authを削除するとfolder()のエラーは解消します。
folder()はModelsのUser.phpは以下にあります。
User
<?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var string[] */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; public function folders() { return $this->hasMany('App\Models\Folder'); } }
Authインポートでなぜこのようなエラーが起きるのでしょうか。
まだ回答がついていません
会員登録して回答してみよう