【Laravel】メール設定で、エラーが発生しました。

実現したいこと

子ネコでもデキル!初心者向け!Laravel9とCloud9で作る顧客管理システム(超長文) 2.0版 後編を参考にして、クレーマー設定をされた顧客にメールを送られる機能を付けようとしています。
ですが、Call to undefined method App\Models\User::enumSupserVisor()未定義のメソッドに関するエラーが発生しました。

発生している問題・エラーメッセージ

BadMethodCallException PHP 8.1.21 9.52.11 Call to undefined method App\Models\User::enumSupserVisor() Bad Method Call Did you mean App\Models\User::getEnumCaseFromValue() ?

該当のソースコード

<?php namespace App\Listeners; use App\Events\KramerInComming; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Mail; class SendKramerInCommingNotification { /** * Create the event listener. * * @return void */ public function __construct() { // } /** * Handle the event. * * @param \App\Events\KramerInComming $event * @return void */ public function handle(KramerInComming $event) { // クレーマーなら通知を発送 。クレーマー確定前に クレーマー変数にカスタマーを入れているのはなんか変だなぁ。 if ($event->kramer->isKramer()) { foreach (\App\Models\User::enumSupserVisor() as $superVisor) { Mail::to($superVisor->email)->send(new \App\Mail\KramerInComming($event->kramer)); //Mail::to($superVisor->email)->send(\App\Mail\KramerInComming($event->kramer)); } } } }

app/Models/User.php

1<?php 2 3namespace App\Models; 4 5// use 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 array<int, 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<int, string> 30 */ 31 protected $hidden = [ 32 'password', 33 'remember_token', 34 ]; 35 36 /** 37 * The attributes that should be cast. 38 * 39 * @var array<string, string> 40 */ 41 protected $casts = [ 42 'email_verified_at' => 'datetime', 43 ]; 44}

試したこと

恐らくuserモデルにenumSupserVisor()メソッドがありませんと言うような事だと思ったのですが、そもそも参考にしたサイトにuserモデル内にメールやクレーマー設定に関する記述がありませんでした。
なので、\App\Models\User::enumSupserVisor() as $superVisorの記述が間違っていると思ったのですが、どうでしょうか?

補足情報(FW/ツールのバージョンなど)

Laravel: Laravel Framework 9.52.11

コメントを投稿

0 コメント