Laravelでtodoリストの作成をしています。バージョン最新
https://www.hypertextcandy.com/laravel-tutorial-authentication/
の記事を参考に進めているのですが、認証機能のコントローラーところで
エラーが発生しています。
foldercontroller
1<?php 2 3namespace App\Http\Controllers; 4 5use App\Http\Requests\CreateFolder; 6use Illuminate\Http\Request; 7use App\Models\Folder; 8use Illuminate\Support\Facades\Auth; 9 10 11class FolderController extends Controller 12{ 13 public function showCreateForm() 14 { 15 return view('folders/create'); 16 } 17 18 public function create(CreateFolder $request) 19 { 20 // フォルダモデルのインスタンスを作成する 21 $folder = new Folder(); 22 // タイトルに入力値を代入する 23 $folder->title = $request->title; 24 // インスタンスの状態をデータベースに書き込む 25 $folder->save(); 26 27 // ★ ユーザーに紐づけて保存 28 Auth::user()->folders()->save($folder); 29 30 return redirect()->route('tasks.index', [ 31 'id' => $folder->id, 32 ]); 33 } 34 35} 36
folders()がundifinedとエラーが吐かれている状態です。
use Illuminate\Http\Request;に関してもis declared but not usedが起き、
use Illuminate\Support\Facades\Authを削除するとfolder()のエラーは解消します。
folder()はModelsのUser.phpは以下にあります。
User
1<?php 2 3namespace App\Models; 4 5use Illuminate\Contracts\Auth\MustVerifyEmail; 6use Illuminate\Database\Eloquent\Factories\HasFactory; 7use Illuminate\Foundation\Auth\User as Authenticatable; 8use Illuminate\Notifications\Notifiable; 9use Laravel\Sanctum\HasApiTokens; 10 11class User extends Authenticatable 12{ 13 use HasApiTokens, HasFactory, Notifiable; 14 15 /** 16 * The attributes that are mass assignable. 17 * 18 * @var string[] 19 */ 20 protected $fillable = [ 21 'name', 22 'email', 23 'password', 24 ]; 25 26 /** 27 * The attributes that should be hidden for serialization. 28 * 29 * @var array 30 */ 31 protected $hidden = [ 32 'password', 33 'remember_token', 34 ]; 35 36 /** 37 * The attributes that should be cast. 38 * 39 * @var array 40 */ 41 protected $casts = [ 42 'email_verified_at' => 'datetime', 43 ]; 44 45 public function folders() 46 { 47 return $this->hasMany('App\Models\Folder'); 48 } 49 50 51} 52
Authインポートでなぜこのようなエラーが起きるのでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。