putメソッドを使ってUserテーブルを更新したい。
view
<form action="{{ url('/mypage') }}" method="post"> @csrf @method('put') <label for="name">{{ __('名前') }}</label> <input id="name" type="text" class="form-control" name="name" value="{{ $user->name }}" required autofocus> <button type="submit" name="submit" class="btn btn-primary">{{ __('編集') }}</button> </form>
UserController.php
use Illuminate\Http\Request; use Auth; use App\User; public function update(Request $request,User $user) { $user->name = $request->name; $user->save(); return redirect('/mypage'); }
web.php
Route::resource('users', 'UserController', ['only' => ['create', 'store', 'destroy']]); Route::get('/mypage', 'UserController@show'); Route::get('/profile', 'UserController@edit'); Route::put('/mypage', 'UserController@update'); Route::get('/edit', 'ProfileController@create'); Route::post('/mypage', 'ProfileController@store');
上記の形でフォーム、コントローラー、routeを作成したのですがuserの情報が更新されずに躓いています。
エラーなどは出ずにリダイレクトだけされてしまい解決方法をご教授いただきたいです。
情報
PHP 7.2.24
Laravel 6.14
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 07:19