前提
laravel8.xでクエリビルダのDELETE文(https://readouble.com/laravel/8.x/ja/queries.html#delete-statements)
実装中(削除ボタン押下時)に以下のエラーメッセージが発生しました。
実現したいこと
削除ボタンを押すとデータが削除されるようにしたいです。
また、どのような状況で発生するエラーなのかを知りたいです。
発生している問題・エラーメッセージ
Call to undefined method App\Models\SystemUser::roles()
該当のソースコード
php
1// SystemUser.php 2<?php 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; 8use Encore\Admin\Traits\DefaultDatetimeFormat; 9use Illuminate\Auth\Authenticatable; 10use Encore\Admin\Auth\Database\HasPermissions; 11 12class SystemUser extends Model implements AuthenticatableContract 13{ 14 use Authenticatable; 15 use HasPermissions; 16 use DefaultDatetimeFormat; 17 use HasFactory; 18 19 protected $guarded = ['id']; 20} 21 22// controller 23class ConfigController extends Controller { 24 /** 25 * ユーザーの削除 26 */ 27 public function delete(Request $request) { 28 $systemUser = systemUser::find($request->id); 29 $systemUser->delete(); 30 return redirect('URL'); 31 } 32} 33 34// view 35@foreach($systemUsers as $systemUser) 36 <form method="post" action="/admin_delete/{{ $systemUser->id }}" onsubmit="return confirm('削除してもよろしいですか?')"> 37 @csrf 38 <button>削除</button> 39 </form> 40@endforeach
試したこと
$systemUser->delete();
の部分をコメントアウトするとエラーは出ずページ遷移もしません。
補足情報(FW/ツールのバージョンなど)
Laravel Framework 8.83.5
追記
・モデル名などの表示
・エラー画像の差し替え
回答1件